C++ 中双引号内的字符串的数据类型是什么
what's the data type of a string inside the double quote in c++
void main() {
cout << "Hello World" << endl;
}
我不允许对上述主要功能进行任何更改,而屏幕上的输出需要如下所示:
初始化
世界您好
收拾
我的想法是我需要使用 <<
的重载运算符。但是我需要知道运算符<<
后面的双引号字符串的数据类型是什么,否则我将无法充分利用我重新定义的<<
运算符。有人觉得吗?
文字的类型是"{合适数量的} const chars 数组",但更好的方法可能是拥有某种全局对象。
(为数组添加重载甚至可能不起作用,因为char const *
的现有重载会妨碍。
您可以重新定义std::ostream& operator<< (std::ostream&, const char*)
.这种方法存在一个巨大的问题:它是未定义的行为。标准库已经定义了该函数,并且不允许重新定义标准库函数。
解决此问题的关键是认识到cout
位于全局命名空间中。解决方案很简单:编写自己的类来重载operator<<
,并创建一个名为 cout
的全局变量作为此类的实例。这样您就不会遇到未定义的行为。
您还需要对全局命名空间中的endl
执行一些操作。
您的代码应如下所示
// Insert your code here.
int main () {
cout << "Hello World" << endl;
}
由于这看起来像家庭作业,剩下的就交给你了。
字符串文本的类型是char const[n]
其中n
是字符串文本中的字符数,包括终止 null 字符。但是请注意,问题的解决方案不是重载operator<<()
。相反,您应该查看具有静态实时的构造函数、析构函数和变量。
相关文章:
- C++浮点数据类型和字符串数据类型无法子到模板函数中
- 具有多个模板的模板函数,用于特定数据类型(如字符串)?
- C++将 wwn 字符串转换为识别为十六进制的数据类型
- 无法在 c++ 中将字符串分配给字符串数据类型
- 是否可以用类似C/C++(或任何语言)的语言,从作为用户输入的字符串或文件中创建用户定义的数据类型
- 基于给定字符串数据类型的链表删除节点
- 如何将两个 jlong 数据类型转换为 jstring,然后将两个字符串连接在一起以便从 JNI 将字符串返回给 jav
- 返回字符串和不同向量数据类型的映射C++
- 添加字符串向量和不同数据类型向量的映射
- 字符串中单个字符作为数组的数据类型是什么
- 将元音与字符串数据类型的字符串分开,并将其存储在新字符串中
- 有没有办法通过 zeromq pub 子C++发送字符串以外的数据类型
- C++:在字符串数据类型中创建单词"letter after letter"
- 字符串数据类型变量初始化
- 在C 中使用字符串数据类型的问题
- zipcode应该存储为字符串数据类型的两个原因
- 由于PROTOBUF服务器中的字符串数据类型变量和客户端通过cpp中recv端的套接字进行通信,因此正在获取segfau
- 在strlwr()中使用字符串数据类型
- 我想通过使用字符串数据类型而不是char类型来获得多行
- 如何对模板中的字符串数据类型执行几组不同的指令