读书人

关于int()跟int型指针

发布时间: 2013-01-04 10:04:14 作者: rapoo

关于int()和int型指针


#include <iostream>
using namespace std;

int f(int*)
{

}

int main(){

int *a=0;
a=int();

return 0;
}






以上程序编译通过了,想问一下int()为什么是int型的指针
还有函数的参数为什么可以是这个样子 int f(int*) ?
[解决办法]
int()是创建一个0初始化的int型临时变量,也就是0,指针可以赋值为0

函数形参如果函数内没有用到可以省略变量名,还用声明时也可以省略
[解决办法]
int()不是个指针,就是一个int值,你可以把它看作int的"default ctor",它是0。你相当于把一个int值0赋予了指针a

int* a = 0;

这没什么问题。


int f( int * ) {}

定义的时候省略了形参名称,这也没什么问题,C++允许这样。代价就是你无法在这个scope里面使用这个参数了。

读书人网 >C++

热点推荐