(转)ns2代码(int agrc,const cha…

来源:互联网 发布:网络玄幻小说书名大全 编辑:程序博客网 时间:2024/05/16 12:06

NS2代码库中,经常看到以(int agrc,const char*const* argv)为参数的函数。

按照下面转载中提及的读法,应读为 argv is (a pointerto (a const pointer ( to a const char))).

argv其实就是个二级指针(即是指向指针的指针),第一个const修鉓是表示argv指向的指针指向了一个常量,不能修改;第二个const修鉓是表示argv指向的指针是个常量,不能对其进行增减操作。

argv[0]其实就是argv指向的第一个指针(char*类型指针),它实际上指向 一个以'\'结束的字符串。

一般情况下:argv[0]-argv[argc-1]存储着函数的各个参数。


Bjarne在他的TheC++ ProgrammingLanguage里面给出过一个助记的方法: 
把一个声明从右向左读。
 

char * const cp; ( * 读成 pointer to) 
cp is a const pointer to char 

const char * p; 
p is a pointer to const char; 

char const * p;

 

char ** p1;//    pointerto    pointerto   


char const char**p2;//    pointerto    pointerto const char


char * const *p3;//    pointerto const pointer to char


const char * const *p4;//    pointerto const pointer to const char


char ** const p5;// const pointerto    pointerto    char


const char ** const p6;// const pointerto    pointerto const char char * const * const p7;// const pointer to constpointerto    char

const char * const * const p8;// const pointer to const pointer toconst char

 

转自:http://blog.sina.com.cn/s/blog_6074447a0100l3lp.html