gpt4 book ai didi

c++ - 方法调用的括号

转载 作者:行者123 更新时间:2023-11-27 23:23:52 28 4
gpt4 key购买 nike

我想知道下面的代码是否相同:

//first
string str; int num;
stringstream(str)>>num;
//second
string str; int num;
(stringstream)str>>num;

我尝试运行它们并且它们起作用了。你能告诉我这就是它们之间的区别吗?或者他们是一样的?非常感谢!!!

最佳答案

作为Luchian Grigore已经告诉过你它们是等价的。

第一个将使用 stringstream::stringstream(const string&)构造函数来创建一个临时对象。第二个是 C 风格的类型转换,本质上与 static_cast<stringstream>(str) >> num; 相同。 . static_cast<>将使用上面的构造函数,因此两者是等价的。

但是,正如 Luchian 已经告诉您的那样,您不应该使用 C 风格的类型转换。使用 static_cast<>相反。

另见:

关于c++ - 方法调用的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10790526/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com