THU-xlj 2016-05-18 03:29 采纳率: 71.4%
浏览 1428
已采纳

为什么返回值是个字符串"123"就必须用const char* c接收。

为什么返回值是个字符串"123"就必须用const char* c
接收。而且cout的时候直接cout<<c就行了c不应该是个指针吗不应该cout<<*c 才对嘛?

  • 写回答

3条回答 默认 最新

  • 小灸舞 2016-05-18 07:41
    关注

    1."123表示的是处于常量区的常量字符串,该区域一般是禁止进行写操作的(相当于const)
    你如果不用const char *接收,而仅仅是用char *指针接收,那么意味着可以通过该指针去修改该字符串,很可能引起异常
    (你不能将访问权限将扩大)
    2.因为c++里对于<<专门重载了char *类型,所以可以输出一整个字符串

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 我这模型写的不对吗?为什么lingo解出来的下面影子价格这一溜少一个变量
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波