ChinaUnix.net
相关文章推荐:

const的具体用法

面向对象是C++的重要特性. 但是c++在c的基础上新增加的几点优化也是很耀眼的 就const直接可以取代c中的#define 以下几点很重要,学不好后果也也很严重 const 1. 限定符声明变量只能被读 const int i=5; int j=0; ... i=j; //非法,导致编译错误 j=i; //合法 2. 必须初始化 const int i=5; //合法 const int j; //非法,导致编译错误 3. 在另一连接文件中引用const常量 extern const int i; //合法 extern cons...

by __Sherry__ - C/C++ - 2011-03-29 08:23:20 阅读(1959) 回复(6)

相关讨论

const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰 的对象为常量(immutable)。 我们来分情况看语法上它该如何被使用。 1、函数体内修饰局部变量。 例: void func(){ const int a=0; } 首先,我们先把const这个单词忽略不看,那么a是一个int类型的局部自动变量, 我们给它赋予初始值0。 然后再看const. const作为一个类型限定词,和int有相同的地位。 const int a; int const a; 是等价的。于是此处我们一...

by jesse- - Linux文档专区 - 2007-02-06 14:51:17 阅读(411) 回复(0)

int main() { const char *p = "this is a test\n"; p = "xhl"; printf("p = %s\n", p); char * const p1 = "this is a test\n"; memcpy(p1, "xie", 3); printf("p1 = %s\n", p1); } const char *p;和char * const p;这两个的区别。 const char *p是指针不能改变。其值可以变。 char * const p是指针的值不能改变。其指针可以变。 但是,上面的程序还能够运行呢。 请那位大虾指点。

by xhl0902 - C/C++ - 2004-10-25 16:32:20 阅读(1190) 回复(8)

void example(const char *s) { if( s[0] != '0' ) // line 1 { s[0] = '0'; // line 2 } } 请问这样使用会不会出现问题 对于line 1,我编译程序的时候系统提示我: An expression of type "const char" cannot be modified. 我觉得象上面那样使用应该没有什么问题,但是编译不能通过

by icw_zy - C/C++ - 2003-06-09 13:23:24 阅读(1457) 回复(6)

代码是这样的: int a = 4; int b = 5; int const *p1 = &a; //加了const表示可以修改p1这个指针,但是不能修改p1所指向的值 那么我的运行结果就有趣了 a = 11;//这个可以运行,不报错 *p1 = 11;//这行不可以运行,报错 根据我的理解,a=11这个应该也要报错的,前面不是说了const在此处表示的是:不能修改p1所指向的值吗? a=11这个就相当于修改了p1所指向的值了啊? 这样理解有什么不对吗,请大家指点一下

by icer_repls - C/C++ - 2012-09-20 09:38:27 阅读(6362) 回复(42)

最近总是看到这样的函数声明方式,这个const是起什么作用的? uint32_t GetCount() const { return(GetVar(mDevice->voltages_count)); };

const

by trypsin - Linux环境编程 - 2011-04-22 21:37:57 阅读(1208) 回复(1)

以下内容是引用: C++ Primer读书笔记 作者:neplusultra linuxsir (2005-03-23 16:44:27)  1、下面是一个几乎所有人刚开始都会搞错的问题: 已知:typedef char *cstring; 在以下声明中,cstr的类型是什么? extern const cstring cstr; 错误答案:const char *cstr; 正确答案:char *const cstr;   错误在于将typedef当作宏扩展。const 修饰cstr的类型。cstr是一个指针,因此,这个定义声明了cstr是一个指向字符的const指...

by usbboy - C/C++ - 2006-03-31 00:27:12 阅读(2678) 回复(11)
by dibovei - C/C++ - 2005-08-31 11:48:54 阅读(1140) 回复(2)

我是c++菜鸟,对const不是很理解,能不能具体说一下const

by wsb2003 - C/C++ - 2003-05-31 22:53:49 阅读(860) 回复(2)
by lanzhihong - 移动操作系统 - 2011-01-29 12:21:08 阅读(412) 回复(0)

已知 int error=0; 那么 int *const err=&error; 与 int const *err=&error; 有什么区别? [思考1]: 以下的这种赋值方法正确吗? const A* c=new A(); A* e = c; [思考2]: 以下的这种赋值方法正确吗? A* const c = new A(); A* b = c; [ 本帖最后由 wxjeacen 于 2009-3-22 16:37 编辑 ]

by wxjeacen - C/C++ - 2009-03-22 16:15:48 阅读(1240) 回复(1)