首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

【语法】C++那些琐屑的小事

2013-03-21 
【语法】C++那些琐碎的小事。// // // // // // // // /////2013.3.18// // // // // // // // //【为什么接受

【语法】C++那些琐碎的小事。

// // // // // // // // //

///2013.3.18

// // // // // // // // //

【为什么接受字符串的函数声明的参数大多是const char*而不是char*?】

这是一个简单的问题,

但很适合作为这套琐碎集的开始。

请看如下函数:

【语法】C++那些琐屑的小事


这是cocos2d-x中创建Label控件的函数。

以此为代表的,

接受字符串作为参数的函数都喜欢声明为const char*而不是char*。

这是很多初学者所忽略的问题,

更多新手会想敲个char*就完了,添个const是个什么事儿哎?


其实答案很简单,

仅仅用于读取参数中的字符串时,

当然不希望字符串的内容发生改变,

于是选择使用const char*——指向常量char的指针(指针指向的值不可更改,但是指针可以更改)。

而使用char*则是指向char的指针,

并不能保证不会被更改。


除此之外,

还有一个兼容性的问题。

当使用const char*作为参数时,

传入char*类型的值也可以。

这是因为char*可以转化为const char*。

但是反之却不行,

因此如果不需要修改字符串的值的话,

最好在声明时使用const char*而不是char*。


// // // // // // // // //

///2013.3.19

// // // // // // // // //

【尽管这点很搞笑,但是还是要提醒大家不要忘记在class的大括号外面添加一个分号】

在Java中也许不需要这样做,

但是如果在C++中如果忘记添加分号的话,

它是无法自动识别的哦。

error C2143: 语法错误 : 缺少“;”(在“using”的前面)



热点排行
Bad Request.