C/C++基本语法之函数返回值
bool类型:
如果不为0,代表真;如果为0,代表假。任何结果为bool值的表达式都最终转化为0和1两种。
if(8) { cout<<"所有常数转化为1"<<endl; }
return语句:
作用是引起函数的强制结束,类似于while语句中的break。
void fun() { if(a==1) {return;} else cout<<"Hello"; return 0; }
函数的返回值:
- 不能返回局部对象的引用;
- 不能返回局部对象的指针;
- 返回引用实际上返回的是对象本身,而不是对象的复制;
- 返回引用的函数返回一个左值;
::作为作用域操作符
如果::前面没有类,后面为函数,就代表不必声明任何命名空间即可直接使用后面的函数。
::iswindowvisible(hwnd);
windows的数据类型:
Windows数据类型都是从标准C的数据类型经过类型重定义而来。
- LRESULT:typedef long LONG;typedef LONG LRESULT
- WORD: typedef unsigned short WORD DWORD: typedef unsigned long DWORD
引用和指针:
- 本质不同。
int a =1;int *p=&a。定义一个存储变量a的地址的变量。
int a=1;int &b=a。定义一个变量a的引用b,实际上是a的一个别名,在内存中,a和b占用同一个存储单元。引用的作用:函数调用时在内存中不会生成副本,解决大块数据或对象的传递效率和空间不如意的问题。通过const的使用,保证了引用传递的安全性。 - 用法不同。
1).指针可以多级,引用只能有一级;
2).sizeof(引用)得到的所指向变量或对象的大小,而sizeof(指针)得到的是指针本身的大小;
3).指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作;
4).不能定义引用的引用,不能定义指针的引用,不能使用未初始化的引用;
5).
浙公网安备 33010602011771号