小编Har*_*ker的帖子

向量c ++ 98错误

所以我一直在阅读多个(和重新发布的)c ++书籍并学习矢量,他们都告诉我要定义一个这样的矢量:

 vector<int> v1 = {4 ,3 ,5}; 
Run Code Online (Sandbox Code Playgroud)

但是当我编译它时(我在代码块中使用gnu gcc编译器)它会出现这个错误

在c ++ 98中,'v1'必须由构造函数初始化,而不是由'{...}'初始化, 并且我还得到另一个那个sais:无法从'大括号封装初始化列表'中转换'{ 4,3,5 }'到'std :: vector v1'

如果你能帮助我,我会非常感激.我确实包括了矢量库.

c++ vector

10
推荐指数
2
解决办法
2万
查看次数

在函数后期初始化变量的好处是什么?而不是在函数体的开头?

我一直在阅读Bjarne Stroustrup写的一本优秀的书,他建议你尽可能晚地声明变量,最好在你使用它之前,但是它没有提到任何好处而不是在函数体的开头迟到声明变量.

那么像这样延迟声明变量有什么好处:

int main()
{
  /* some
     code
     here
  */
  int MyVariable1;
  int MyVariable2;
  std::cin >> MyVariable1 >> MyVariable2;
  return(0);
}
Run Code Online (Sandbox Code Playgroud)

而不是像这样的函数体的开头:

int main()
{
  int MyVariable1;
  int MyVariable2;
  /* some 
     code
     here
  */
  std::cin >> MyVariable1 >> MyVariable2;
  return (0);
}
Run Code Online (Sandbox Code Playgroud)

c++ variables

2
推荐指数
2
解决办法
89
查看次数

宏保证没有头脑?

作为程序员,我被教会更喜欢关键字内联到小函数的宏定义.我知道由于宏定义不进行类型检查,内联已知更安全,但是我被告知内联只是请求编译器实际替换代码,并且编译器不必接受该请求,所以我想知道宏请求还是保证没有超时?

c c++

1
推荐指数
1
解决办法
141
查看次数

标签 统计

c++ ×3

c ×1

variables ×1

vector ×1