第一种:利用赋值号直接赋值
char a = 40; string b = a; /* 错误。因为string是一个指针,存储的值是所指向的地址,而char型存储的是内容,所以不可以直接用赋值号赋值 */ const char* a = "hello"; string b = a; //正确 const char[] a = "hello"; string b = a; //正确
第二种:利用sting构造函数
查看一下string的构造函数:
1 string(); 2 3 string (const string& str); 4 5 string (const string& str, size_t pos, size_t len = npos); 6 7 string (const char* s); 8 9 string (const char* s, size_t n); 10 11 string (size_t n, char c); 12 13 template <class InputIterator> 14 string (InputIterator first, InputIterator last); 15 16 string (initializer_list<char> il); 17 18 string (string&& str) noexcept;
所以 --->
char a = 48; string b(a); //这种写法是错误的,不可以直接传过去。 //利用string(size_t n, char c) string b(1,a); //正确
原文链接: https://www.cnblogs.com/daybreaking/p/12365099.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/331881
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!