萱萱网,王心如个人资料,sw9333
auto举个例子
1 #include<iostream> 2 using namespace std; 3 int sum() 4 { 5 auto int x=0; //相当于int x=0;我们平时使用的时候auto是默认,可以不写 6 return x; 7 } 8 int main() 9 { 10 int x=sum(); //这里相当于auto int x=sum(); auto可以写也而已不写 11 system("pause"); 12 return 0; 13 }
7.是不是复制粘贴进你的vs有错误,(类型说明符的组合无效),嘿嘿,当然有错了,这是因为auto的语意发生了改变,新版的c++auto的意思是自动类型推倒,如果你非得让上面的例子成功的话,那么可以去百度,应该怎么设置vs。
static用这个关键字声明的变量是在静态区,
#include<iostream> using namespace std; int sum(int x) { static int y = 0;//y会一直保存在程序中,是静态存储,并且只会进行一次初始化 y = y + x; return y; } int main() { cout << sum(10) << endl; cout << sum(10) << endl; system("pause"); return 0; }
8.register用这个关键字声明的变量,是存储在寄存器中,访问速度非常快,因此一般用于循环时候要多次用到的变量,由于电脑中寄存器并不多,因此register声明的变量个数不能多
代码就不写了,同上
#include<iostream> using namespace std; int sum() { register int y = 0;//寄存器变量 while(y<1000) y++; return y; } int main() { cout << sum() << endl; cout << sum() << endl; system("pause"); return 0; }
9.extern 声明的变量是外部变量,什么意思呢,比如a.cpp中有个变量int c=0;在b.cpp中想用它怎么办呢,extern int c;就ok了,当然a.cpp和b.cpp得是同一个项目
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论