gpt4 book ai didi

c++ - 卡在字符串库的使用上

转载 作者:行者123 更新时间:2023-11-28 00:00:34 25 4
gpt4 key购买 nike

我的头文件是这样的:

//Sales_data.h
#ifndef SALES_DATA_H
#define SALES_DATA_H

//#include<string>

struct Sales_data
{
std::string bookNo; //compiles without error
};
#endif

通常,每当我们必须在代码中使用字符串变量时,我们都会包含 string header 。但是使用上述 header 的程序编译没有任何错误,即使我没有在程序中包含 string header 。

最佳答案

这是标准库的特定编译器/实现的函数。一般来说,要使您的代码 100% 可移植,您应该包含 string header,因为不是每个编译器都会这样做。我知道 gcc 的当前版本和 clang允许它(我不确定 MSVC),但为了使您的代码符合标准,您应该始终包含 string您要使用的标题 std::string .如果您发现自己必须为编译器无法执行此操作的平台进行开发,则您上面给出的代码将无法编译,您将不得不花费时间和精力来调试它。那么为什么要打扰呢?扔进去#include <string> ,继续编程,省去以后修复它的麻烦。

关于c++ - 卡在字符串库的使用上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39397192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com