c++03相关内容

如何设置全局容器(C++03)?

我想定义一个全局容器(C++03),这是我试过的一个示例代码,它不起作用. #include #include 使用命名空间标准;向量白羊座;Aries.push_back("金牛座");//第 6 行int main() {} 编译错误: prog.cpp:6:1: 错误:'Aries' 没有命名类型 看来我可以定义一个空的全局向量,但无法填充它.看起来在 C+ ..
发布时间:2022-01-24 21:10:40 C/C++开发

具有 const 成员的结构向量?

假设我有 #include #include 使用命名空间标准;结构学生{常量字符串名称;积分等级;学生(常量字符串和名称):名称(名称){}}; 那么,我该如何保留学生的向量? int main(){矢量五;//错误 C2582: 'operator =' 函数在 'Student' 中不可用v.push_back(学生(“约翰"));} 有没有办法做到这 ..
发布时间:2022-01-24 00:00:26 C/C++开发

在 C++ 中的类初始化程序中初始化 const 数组

我在 C++ 中有以下类: a 类 {常量 int b[2];//其他内容如下//这是构造函数避免);} 问题是,我如何在初始化列表中初始化 b,因为我无法在构造函数的函数体内初始化它,因为 b 是 const? 这不起作用: a::a(void) :b([2,3]){//其他初始化的东西} 编辑:典型的例子是我可以为不同的实例设置不同的 b 值,但已知这些值在实例的生命周期内是恒定 ..
发布时间:2022-01-18 23:13:27 C/C++开发

类 C、构造函数和统一初始化之间有什么区别?

据我所知,在 C++ 中初始化变量有三种方法. int x = 0;//类 C 初始化整数 x (0);//构造函数初始化诠释 x {0};//统一初始化 为 C++11 引入了统一初始化,以提供用于初始化不同类型变量的更统一的语法,在 C++03. 类 C、构造函数和统一初始化之间有什么区别?我应该始终使用统一初始化吗? 解决方案 首先,我建议看一下下面的谈话 由 Herb S ..
发布时间:2022-01-18 23:10:58 C/C++开发

在 C++ 中将 char 分配给 int 引用和 const int 引用

我注意到将 char 分配给 const int& 可以编译,但将其分配给 int& 会导致编译错误. char c;内部&x = c;//编译失败const int&y = c;//还行吧 我知道这样做不是一个好的做法,但我很想知道发生这种情况的原因. 我通过寻找“分配给不同类型的引用"、“将 char 分配给 int 引用"和“常量引用和非常量引用之间的差异"来搜索答案,并遇到了许多 ..
发布时间:2021-12-31 22:09:04 C/C++开发

使用 std::basic_string<t> 是否合理?作为目标 C++03 时的连续缓冲区?

我知道在 C++03 中,从技术上讲,std::basic_string 模板不需要具有连续内存.但是,我很好奇有多少现代编译器真正利用了这种自由的实现.例如,如果想使用 basic_string 来接收某些 C API 的结果(如下例所示),分配一个向量只是为了立即将其转换为字符串似乎很愚蠢. 示例: DWORD valueLength = 0;双字型;LONG errorCheck = ..
发布时间:2021-12-17 23:44:56 C/C++开发

如何编写`is_complete`模板?

在回答这个问题后,我试图找到is_complete Boost 库中的模板,我意识到 Boost.TypeTraits 中没有这样的模板.为什么Boost库中没有这样的模板?它应该是什么样子? //!检查类型是否完整模板结构 is_complete{静态常量布尔值 = ( sizeof(T) > 0 );};...//所以我可以这样使用它BOOST_STATIC_ASSERT( boost::i ..
发布时间:2021-12-13 18:36:03 C/C++开发

如何将类成员函数作为回调传递?

我使用的 API 要求我将函数指针作为回调传递.我正在尝试从我的班级中使用此 API,但出现编译错误. 这是我在构造函数中所做的: m_cRedundencyManager->Init(this->RedundencyManagerCallBack); 这无法编译 - 我收到以下错误: 错误 8 错误 C3867:'CLoggersInfra::RedundencyManagerC ..
发布时间:2021-12-01 15:33:19 C/C++开发

非实例化模板成员的编译时错误而不是链接时错误

我有模板类 ItemContainer,它实际上是具有不同功能(如排序、索引、分组等)的整个容器系列的外观. 使用 pimpl 惯用语和显式实例化将实现细节隐藏在 cpp. 文件中.模板仅使用定义容器实际行为的一组众所周知的有限实现类进行实例化. 主模板实现了所有容器支持的常用函数 - IsEmpty()、GetCount()、Clear() 等 每个特定的容器都专门提供一些仅由 ..
发布时间:2021-09-18 19:08:40 C/C++开发

c ++将类方法作为参数传递给带有模板的类方法

我正在尝试使用模板将一个类方法传递给另一个类方法,但找不到关于如何做的任何答案(没有 C++11,boost ok): 我将核心问题简化为: class Numerical_Integrator : public Generic Integrator{模板无效集成(无效(T :: * f)()){//F();//已经没有调用f()我得到错误}}类行为{void toto(){};无效进化( ..
发布时间:2021-09-04 20:45:06 C/C++开发

如何遍历 STL 集直到倒数第二个元素?

我想遍历一个STL 集合,对集合中的元素成对进行操作.例如.如果设置 S={1,2,3),我需要能够检查 {1,2},{2,3},{1,3}. 因此一个非常错误的 C++ 代码如下- set>啊;无符号 sz = arr.size();代表(我,sz-1){for(j=i+1;j 我写了上面错误的代码是为了让你更好地了解我想要做什么.更好的版本(应该有效但没有)如下- set>::迭代 ..
发布时间:2021-08-30 19:24:34 C/C++开发

从 std::type_info 检索数据类型的大小

在 C++03 中,当您使用运算符 typeid 时,type_info 对象. 是否可以仅根据此结果检索给定类型的大小,例如由 sizeof 返回 运算符? 例如: std::type_info info = typeid(int);int intSize = sizeof(int);int intSize2 = info.getSize();//不存在! 问题是我们使用第三方多 ..
发布时间:2021-08-30 18:58:29 C/C++开发

如何在 C++03 中用 sprintf 正确替换 sprintf_s?

sprintf_s 是函数 sprintf 的微软实现,他们修补了一个缺陷,添加了一个参数来获取函数被限制写入的边界值.> C++11 中引入了一个等价物:snprintf.但在这里,我们谈论的是 C++03 语法. 签名: count_char_written sprintf(char* string_out, const char* output_template, VARIADIC ..
发布时间:2021-06-18 20:19:10 C/C++开发

如何在unix中获得完全限定的域名

是否有任何函数(C 或 C++)在 UNIX 平台中返回 FQDN(完全限定域名)? 解决方案 使用 getifaddrs() 获取相关框的接口,然后使用 "resolver interface" (man resolver) 查询 IP 的 FQDN-addresses 由之前的 getifaddrs() 调用返回. 不要使用gethostname() 或 命令行工具 hostna ..
发布时间:2021-06-07 19:41:08 服务器开发