关于string类型与字符串字面值(character string literals)的区别?

时间:2021-01-01 14:42:35
各位大虾,有关字符串字面值与string数据类型的区别,小弟一直没有弄明白,请指点一下,谢谢!

6 个解决方案

#1


没有看明白你的意思!
std::string类型只是basic_string<>的一个char特化而已。没有什么特别的。也就是说,string相当于一个容器,里面维护了很多的char。

#2


字符串字面值的类型是字符常量的数组,现在可以更明确地认识到:字符串字面值的类型就是const char类型的数组.C++从C语言继承下来的一种通用结构是C风格字符串(C-style character string),而字符串字面值就是该类型的实例.

#3


什么叫字符串字面值??LZ自己发明的新名词?

#4


字符串字面值是在C++的书中见到的,不知道楼主是不是。
查看C语言的书,其实就是字符串常量。
我想楼主要问的是string中字符串和字符串字面值的区别。个人理解,就是C语言中字符常量和字符串常量的区别。字符常量用单括号括,字符串常量用双括号,而且字符串常量只能用数组来存储,最后一个是\0。
感觉C++里面是让人看着挺头疼的,至少我看的C++ PRIMEr里面我是没看明白。

#5


你可以 选中 string,然后点击右键,go to definition,就可以看到是 什么 类型的了;这行是个 typedef

#6


2楼回答的很好

#1


没有看明白你的意思!
std::string类型只是basic_string<>的一个char特化而已。没有什么特别的。也就是说,string相当于一个容器,里面维护了很多的char。

#2


字符串字面值的类型是字符常量的数组,现在可以更明确地认识到:字符串字面值的类型就是const char类型的数组.C++从C语言继承下来的一种通用结构是C风格字符串(C-style character string),而字符串字面值就是该类型的实例.

#3


什么叫字符串字面值??LZ自己发明的新名词?

#4


字符串字面值是在C++的书中见到的,不知道楼主是不是。
查看C语言的书,其实就是字符串常量。
我想楼主要问的是string中字符串和字符串字面值的区别。个人理解,就是C语言中字符常量和字符串常量的区别。字符常量用单括号括,字符串常量用双括号,而且字符串常量只能用数组来存储,最后一个是\0。
感觉C++里面是让人看着挺头疼的,至少我看的C++ PRIMEr里面我是没看明白。

#5


你可以 选中 string,然后点击右键,go to definition,就可以看到是 什么 类型的了;这行是个 typedef

#6


2楼回答的很好