C++中C风格字符串的使用
2012-04-14 16:39
441 查看
以上代码会产生运行时错误,去掉p[1]='x';或者把p定义改成charp[]="abc"就能正常运行。
如
这是因为char*p="abc"把"abc"放在常量区,而charp[]="abc"把"abc"放在变量区。
怎样让编译器识别这个错误?char*p="abc"是C语言的遗留风格,建议使用字符字面值定义字符指针时总是在前面加上const。如下定义:
constchar*p="abc";
这样即使后面有要修改其值的语句编译器也会报错而不是产生运行时错误。
-----------------------转自AngelsThanatos
相关文章推荐
- c风格字符串和C++的string在文件名方面的使用注意
- 在win32 api程序中:使用C++风格的字符串
- c++风格字符串使用
- 在win32 api程序中:使用C++风格的字符串
- C++字符串的使用学习笔记01
- C风格字符串和C++的标准库类型string的比较
- C++ 字符串使用详解
- Windows,C/C++_字符串转换_MultiByteToWideChar和WideCharToMultiByte的正确使用方法及参数详解
- [C++]字符串处理方法(STL与C风格)
- C++的中英文字符串表示(string,wstring),使用wcout.imbue(std::locale("chs"));本地化解析编码
- More Effective C++----(1)指针与引用的区别 & (2)尽量使用C++风格的类型转换 & (3)不要对数组使用多态
- poj 1226 Substrings(c风格字符串的库函数的使用)
- C/C++——C风格的字符串的指针指向的内存位置问题(易错)
- 大数的运算实现(C++、字符串)、Git使用示例
- C++_系列自学课程_第_9_课_C语言风格字符串_《C++ Primer 第四版》
- C++字符数组的输入输出和字符串结束标志使用讲解
- 实战c++中的string系列--十六进制的字符串转为十六进制的整型(一般是颜色代码使用)
- 菜鸟学Java之Java与C++在字符串中使用+和==的区别
- [C/C++标准库]_[初级]_[使用模板删除字符串前后空格((w)string space)]
- C++ 标准头文件与C头文件区别与联系以及C风格字符串