const用法以及文字常量区
xx77009833
这个作者很懒,什么都没留下…
展开
-
C 语言中的文字常量区
编程过程中,遇到这样一个问题,于是求教别人,自己又查阅了一些资料。先总结一下。问题:如果改为:则运行正确,百思不得其解后,通过一上午的查阅资料,终于找到答案。我做了一个测试程序,截了一个图,答案都在下面:答案已经全部在图上。总结:1. char * p = "hello";//是在编译时就要确定字符串的内容。 char q[] = "hello";//在运行时确定字符串的内容 其中,p存放的是字符串的地址,q存放的是字符串本身。所以p已经初始化之后,就不能修改。 就速度而言,显然第二种方式比第转载 2010-07-19 13:53:00 · 721 阅读 · 0 评论 -
又是恶心的文字常量区,这次关于argv的。以及converting const char * to const std::string &
main的参数argv是指向常量字符串的指针,能++,但是不能修改指针指向的内容。并且不可被改变,不可被赋值,不可作为左值(l-value),不能取地址。argv的实际情况:在NS2代码库中,经常看到以(int agrc,const char* const* argv)为参数的函数。按照下面转载中提及的 读法,应读为 argv is (a pointer to (a const pointer ( to a const char))).argv其实就是个二级指针(即是指向指针的指针),第一个const修原创 2010-07-29 17:49:00 · 545 阅读 · 0 评论 -
c++中const关键字使用详解
<br />关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性。在网上搜寻相关主题,发现大多数文章雷同,而关键地方并不是很清楚。在网络资料,参考书的基础上,结合本人的一些体会总结如下,期望对大家有所帮助: <br />一 const基础<br />下面四个定义语句是大多数书籍讲解const关键字都会用到的,<br />[1]const int* a = &b;<br />[2]int const *a = &b;<br />[3]int* const a = &b;<br转载 2010-07-30 09:56:00 · 279 阅读 · 0 评论 -
小结 (int argc,const char* const* argv)
<br />在NS2代码库中,经常看到以(int agrc,const char* const* argv)为参数的函数。<br />按照下面转载中提及的 读法,应读为 argv is (a pointer to (a const pointer ( to a const char))).<br />argv其实就是个二级指针(即是指向指针的指针),第一个const修鉓是表示argv指向的指针指向了一个常量,不能修改;第二个const修鉓是表示argv指向的指针是个常量,不能对其进行增减操作。<br />a转载 2010-07-30 09:54:00 · 935 阅读 · 1 评论 -
用好c++的const 关键字
<br />const是c++当中很有特色的一个语言功能,它限制了对数据的操作,还限制了类成员函数的行为,而且是对c++的引用类型的函数参数和返回值这个功能的有益补充,c++程序员应该时时有意识地正确使用const关键字。const对于变量来说,是一个要求,而对于函数来说,是一个承诺,对它所操作的变量的承诺。由于const的使用场合和使用对象很多,要正确地使用它还是需要用一番心思的。 <br /> const在一下一些地方使用:<br /> 首先它可以修饰一个变量,此时这个const是这个变量的转载 2010-07-30 09:59:00 · 318 阅读 · 0 评论