1.const char* p: p is a pointer to const char(char const* p 一样)   意思就是不能通过p指针来修改p指向的内容(但是内容可以修改). 2.char* p      : p is a pointer to char   意思就是可通过p指针来修改p指向的内容 3.char* const p: p is a const pointer to char   意思就是p指针是一个常指针,他指向的内存地址不能变,定义的时候就得初始化   一旦给…
这是我在知乎回答的一个问题. 这个问题是C中的一个深坑,首先说结论: char ** 和 const char ** 是两个不相容(incompatible)的类型,能够理解为不能直接赋值 在C11的6.5.2.2 Function calls中有例如以下内容 Each argument shall have a type such that its value may be assigned to an object with the unqualified version of the ty…
部分内容摘自:https://blog.csdn.net/ranhui_xia/article/details/32696669 The version with const char * will copy data from a read-only location to a variable on the stack. The version with static const char * references the data in the read-only location (no…
  vs2015 LNK2005 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl printR(class std::basic_ostream<char,struct std::char_traits<char> > &,class QueryResult const &)" (?printR@@YAAAV?$bas…
'a'是char, "a"是char string,这两者都是普通的字符和字符串,和C中没什么不同 值得注意的是后者包含两个字符,末尾有一个隐身的'\0'而:string str = "a" 是C++ string 注意:C++中的char string和string不是一回事当用到了"string"这个关键词,就不是普通的字符串,而是用到了封装后的类在C++中,char仍然是一个primitive type(原始类型),而string已经经过封…
char *s="string"的内容是不可以改的 void main() {     char* pStr1 = "Hello!";     char pStr2[] = "Hello!";     change(pStr1);     change(pStr2); } void change(char* pInstr) {     pInstr[0]='O'; } 两种change编译都可以通过,但发现第二个change是可以正确地修改第一个…
一. ASCII码 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定.这被称为ASCII码,一直沿用至今.一个字节(8bit)一共 可以用来表示256种不同的状态.ASCII码一共规定了128个字符的编码,比如大写的字母A是65(二进制01000001).这128个符号(包括32个不能打印 出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0. 二.非ASCII编码 英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的.…
#include<iostream> #include<stdio.h> using namespace std; ; char *itostr (int n,char *String) { String[i]=(n%)+; i++; ==) return String; else itostr(n/,String); } int main() { int n; cout<<"input the number:"<<endl; cin&g…
三者的区别 CString 是MFC或者ATL中的实现: string 是C++标准库中的实现: char* 为C编程中最常用的字符串指针,一般以’\0’为结束标志. string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中:CString(typedef CStringT<TCHAR, StrTraitMFC<TCHAR>> CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类…
1,VS2013: 错误 1 error LNK2019: 无法解析的外部符号 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Stack<int> c…