jjzjj

parentheses

全部标签

具有预增量 : With or without parentheses is the same? 的 C++ 箭头运算符

类(class)问题:Watchtheparenthesesaroundtheargumentofthe++operator.Aretheyreallyneeded?Whatwillhappenwhenyouremovethem?最初只有一个cout表达式。我添加了另一个以查看差异,如下所示:#includeusingnamespacestd;classClass{public:Class(void){coutvalue=0;coutvalue)value)我的想法是在没有括号的情况下再次测试它,看看有什么不同:...coutvaluevalue两种情况下的结果是一样的。因此我得出结论

c++ - 成员初始化列表符号 : curly braces vs parentheses

考虑pg中的以下代码片段。17的C++之旅:classVector{public:Vector(ints):elem{newdouble[s]},sz{s}{}//constructaVectordouble&operator[](inti){returnelem[i];}//elementaccess:subscriptingintsize(){returnsz;}private:double*elem;//pointertotheelementsintsz;//thenumberofelements};这里我关心的是第三行的成员初始化列表,其中Stroustrup将冒号与两个初始化

c++ - 在 throw 参数周围添加括号是否有任何效果?

写法有区别吗:throwSomeException;和throw(SomeException);我看到一些消息来源声称后者(带括号)出于某种原因不是一个好的选择,但遗憾的是我不记得我在哪里看到过这个。 最佳答案 除了括号之外,这两个表达式之间应该不有任何功能上的差异。我从未听说过任何明确的理由说明为什么一个人应该优于另一个人。对我来说,第一个选项看起来更直观,因为它不包含不必要的括号!另外正如@Pubby在评论中所说,不应与需要括号的throw说明符混淆(throw说明符可能deprecated)。

c++ - 错误 C7034 : an array cannot be initialized with a parenthesized initializer

我正在尝试编写一个nativeNode插件,它枚举Windows机器上的所有窗口并将它们的标题数组返回给JSuserland。但是我被这个错误难住了:C:\ProgramFiles(x86)\MicrosoftVisualStudio14.0\VC\include\xmemory0(655):errorC3074:anarraycannotbeinitializedwithaparenthesizedinitializer[C:\xampp\htdocs\enum-windows\build\enumWindows.vcxproj]C:\ProgramFiles(x86)\Micros

c++ - C++11 lambda 表达式末尾的括号

我对使用C++11lambda遇到的一些示例感到困惑。例如:#include#includeusingnamespacestd;intmain(){coutstring{return"HelloWorld1!";}()string{return"HelloWorld"+str;}("2!");cout我无法弄清楚末尾的括号在做什么。他们是否将lambda实例化为构造函数?鉴于lambda的模板是:[capture_block](parameters)mutableexception_specification->return_type{body}让我感到困惑的是,那些实例需要那些括号才

php - 有效模式的 PHP 中的 "preg_match(): Compilation failed: unmatched parentheses"

想知道是否有人可以阐明为什么在PHP的preg_match函数中使用以下正则表达式会失败:-这会导致错误消息“preg_match():编译失败:括号不匹配”,尽管该模式似乎是有效的。我用在线测试了它PHPRegularExpressiontester和Linux工具Kiki。似乎PHP正在转义左括号而不是反斜杠。我通过使用str_replace将反斜杠换成正斜杠来解决这个问题。这适用于我的情况,但很高兴知道为什么这个正则表达式失败。 最佳答案 要对文字反斜杠进行编码,您需要将其转义两次:一次用于字符串,一次用于正则表达式引擎:pr

c++ - 给定指针调用括号重载

我可以使用以下签名重载括号运算符:char&operator()(constintr,constintc);它的预期用途是://myObjisanobjectoftypeMyClassmyObj(2,3)='X'charY=myObj(2,3);如我所料。但是,在处理指针时使用括号运算符会变得很复杂。我想这样做://pMyObjisapointertoanobjectoftypeMyClasspMyObj->(2,3)='X';charY=pMyObj->(2,3);但是,这样的语法会产生错误Error:expectedamembername(至少在VisualStudio中)。以下内

c++ - 括号之间的两个字符串在 C++ 中用逗号分隔

这个问题在这里已经有了答案:HowdoestheCommaOperatorwork(9个回答)关闭6个月前。我今天遇到了意想不到的(至少对我而言)C++行为,如以下片段所示:#includeintmain(){std::cout输出:2这适用于括号之间的任意数量的字符串。在visualstudio2010编译器和键盘上进行了测试。我想知道为什么首先要编译,这个“功能”有什么用?

swift - 单元素括号表达式/元组与括号的常用用法

抱歉,如果这是微不足道的-我对swift还很陌生,实际上我只看了几分钟的语言指南+引用。据我了解像(2,3)这样的括号表达式是用来构造一个元组的,而(2)是一个类型为单元素的元组(整数)。但是如果在表达式(2+4)*5中经常使用像(2+4)这样的括号会发生什么?这仍然是(Int)类型的元组乘以Int吗? 最佳答案 来自Types在Swift书中:Ifthereisonlyoneelementinsidetheparentheses,thetypeissimplythetypeofthatelement.Forexample,thet

types - 括号内的 Swift 类型

我今天在玩Swift,一些奇怪的类型开始出现:letflip=Int(random()%2)//orarc4random(),orrand();whateveryouprefer如果我在Xcode6(Beta2)中输入flip,自动完成会弹出,并显示flip的类型是(Int)而不是Int。这很容易改变:letflip:Int=Int(random()%2)letflop=random()%2现在flip和flop的类型是Int而不是(Int)进一步研究,这些“括号类型”是可以预测的,您可以通过在变量赋值的任何部分添加额外的括号来实现它们。letg=(5)//becomestype(In