我正在使用遗留代码并发现:
#if (1 > 1)
//define some function
#endif
Run Code Online (Sandbox Code Playgroud)
不确定,这可能与更典型的任何不同#if 0,注释掉代码?有什么想法吗?
我需要对以下c ++语法进行一些解释:
for(const auto& ioDev : deviceList)
Run Code Online (Sandbox Code Playgroud)
鉴于:
std::vector<Device *> deviceList
Run Code Online (Sandbox Code Playgroud)
具体来说,我对':'和'auto'的使用感到困惑?
我对以下函数的理解是它要求整数变量的地址.
void MyFunction(int & myParameter)
Run Code Online (Sandbox Code Playgroud)
但在我的代码中,我有:
int myVar;
myFunction(&myVar)
Run Code Online (Sandbox Code Playgroud)
我收到编译器错误说:没有已知的从'int*'到'const int&'的转换.
当我没有'&'传递'myVar'时,编译器很高兴.我有点困惑,这里发生了什么.在此上下文中,指针符号'*'和地址符号'&'之间有什么区别?我什么时候应该使用?使用'&'时c和c ++之间是否有区别?提前致谢.