#include "stdafx.h"
#include <iostream>
using namespace std;
void main(void)
{
char* str = "0123456789";
strcpy( str+3 ,"ABCD");
cout << str <<endl;
}
#include "stdafx.h"
#include <iostream>
using namespace std;
void main(void)
{
char str[] = "0123456789";
strcpy( str+3 ,"ABCD");
cout << str <<endl;
}
两个一个会报错,一个结果是 012ABCD。
面试我的大哥 非说在c++ 中 2者是一样的。 我的环境是 vs2008 c++ 工程 。第一个肯定会报错的啊。第一个是一个字符串常量,不可修改的,指针只是指向那块区域。面试大哥跟我说,只要能获得指针,只要不是const,就可以修改内容。无语。
本文探讨了C++中关于字符串常量与指针的使用误区,通过两个实例对比展示了正确与错误的使用方式,并解释了面试中关于指针修改常量的讨论。
971

被折叠的 条评论
为什么被折叠?



