C ++ - 我应该接受哪种类型的参数? (什么时候应该施放?)

时间:2015-05-10 08:33:23

标签: c++ mysql

我正在使用mysql ++,我们需要在其中形成查询,因此在将它发送到mysql ++包装器和数据库之前需要进行类型检查。在某些情况下,我们需要类似uid的内容,它基本上是int类型。但是,我也可以接受std::string并检查是否可以将其转换为整数。在某些解释语言中,没有这样的问题,因为所有类型都存储为字符串,您可以使用int(str)轻松解析和转换它们。问题是我应该何时更喜欢转换?从字符串转换为其他类型可能有一些方便:我可以使用字符串的方法并绑定一些检查。但是有什么缺点?

1 个答案:

答案 0 :(得分:1)

几乎没有。拥有类型的原因是指定方法或方法的使用方式。

如果在调用链的末尾需要一个int,那么这应该反映在方法签名中。

cast和int(str)之间也有细微差别。第二个不是强制转换,而是涉及对字符串的某种解析,以指定字符串是否实际表示数字。

在C ++中,您必须尝试将字符串解析为int,检查转换是否成功并从那里继续。当你知道你需要一个int时,为什么要付钱呢?

如果以某种方式获取字符串,可以在调用函数之前尝试解析它们。我认为它更干净。