问题标签 [c++98]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ 98 标准在哪里指定本地声明的模板名称不依赖?
根据此页面: http ://womble.decadent.org.uk/c++/template-faq.html#non-dependent “非依赖名称是那些被认为不依赖于模板参数的名称,加上名称模板本身和在其中声明的名称(成员、朋友和局部变量)”
这似乎得到了以下代码被认为是有效的事实的支持(LLVM/Comeau)
花一些时间阅读 C++ 98 标准后,我找不到指定此行为的位置。我希望在“temp.nondep”下找到提及这一点。
c++ - 在 gcc 中强制执行 C++98 标准
我有一个应该用符合 C++98 的代码编写的学校作业。如何强制g++
只接受遵循此标准的代码?会-std=c++98
做的伎俩还是我需要添加额外的标志?
c++ - C++ 我应该完全限定我的变量类型吗?
我正在尝试编写适合最多 80 列的代码行。因此,我想知道完全限定我的变量类型是否真的是强制性的?假设以下实现:
要声明我的函数参数类型,有多种方法?
- 一种)
int f(Baz* b);
- b) 或
int f(attributes::Baz* b);
- c) 或
int f(loggingapi::attributes::Baz* b);
- d) 或
int f(::loggingapi::attributes::Baz* b);
在上面的列表中,哪些定义对编译器来说更清晰/模棱两可?
注意:您必须假设命名空间/参数/类/函数名称在以下实现中不能缩短。
boost - 谷歌测试和提升::变体
我希望在我的单元测试中迭代我的 boost::variant 中的类型。这可以按如下方式完成:
其中函数是函子。我只是想确保变体中的一种类型相对于所有其他类型的特定操作发生不同。但是,我不喜欢现在在另一个函数中完成测试——如果我希望从函子访问 MyTest 的成员怎么办?看起来真的很乱。
关于更好的方法的任何建议?
c++ - Google 测试 boost::variant
我有一个 boost::variant 包含命令。我正在编写一个PathValidator
访问者,它对Create
命令采取一种方式,对所有其他命令采取一种方式。这是我正在测试的方式。随着我添加更多测试,我将需要编写更多 HelperVisitors。关于如何使这更具可读性和更少冗长的任何提示?我正在使用 C++98。或者,也许你认为这没问题。
c++ - 用于测试 std::vector 内容的 Oneliner
这样做更方便的方法是什么:
上面的一个问题是,在进行测试驱动开发时,测试用例会崩溃,其中 mock->params 的大小将首先为零,然后再编写实际的测试代码。
顺便说一句,我不允许使用 GoogleMock,因为它需要某些我无法使用的编译器标志。我可以使用std和boost。
c++ - 模拟具有 const char 类型的 out 参数的函数**
我需要模拟 ac api“类”,它基本上是一个包含一组函数指针的结构。这是我的方法。您认为它是否有效,或者您能提出更好的方法吗?
更新
我想到的另一种方法是使用std::vector
's 和std::vector::iterator
's 而不是std::queue
's。每次我“使用”向量中的值时,迭代器都会递增。
c++ - 使用 boost::assign::list_of
这编译:
但不是这个:
是否有一种用于初始化传递给构造函数的向量的单线解决方案?
更好的是,如果构造函数通过引用来复制到类变量:
更新
如果我尝试以下操作:
我得到编译器错误:
c++ - 初始化结构的 std::vector
我希望将一堆这种类型的对象添加到 std::vector 中。
句柄在我无法更改的 C API 标头中定义。
我现在正在这样做,但我想知道它是否可以作为单线来完成。
我使用 C++98 编译器。
c++ - 指向 bool 的 std::vector 中的对象
我有一个模拟类,我在单元测试中使用它。
我看起来像:
因此,向量填充了值,并且每次测试使用值时迭代器都会递增。
问题是代码无法编译,我猜它是因为 std::vector 被保存为位,我可以用 bool* 指向其中的成员。
我该如何解决这个问题?