C++ 移动/删除符号

标签 c++ c++11

假设我有一个 .cpp 文件,我必须在其中包含一个第三方头文件来声明一些符号(我们称它为 div)。我不需要这个符号,但我需要定义我自己的 div 符号。但是,原始符号可能会被头文件的其他部分使用。是否可以从全局命名空间中删除符号(类似于 undef 宏)?

我想要这样的东西:

#include <string> //stdlib.h defines div symbol
//do some symbol removal magic here
std::string div;

使用带有 -std=c++11 选项的 gcc-4.7/clang 进行编译。

最佳答案

您不能从定义符号的命名空间(包括全局命名空间)中删除符号。

将您自己的 div 包装在您自己的命名空间中。

关于C++ 移动/删除符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13047578/

相关文章:

c++ - 在 gdb 中,在我按下 tab 后,它可以完成我的命令以及局部变量,但是为什么 lldb 不能

c++ - Boost 聊天服务器示例 : expected type-specifier before 'sessiosn'

c++ - 在 C++ 函数中就地处理参数

c++ - 不同模块中的结构定义不明确

c++ - 设置 VS 调试器的字节顺序

c++ - 忽略一行输入中的某些输入

C++ ODB 数据库映射器:无法在关系中使用 std::weak_ptr

c# - C# Action += function 的 C++ 方式?

c++ - 使用 chrono 将 time_point 转换为特定持续时间

c++ - 具有由整数确定的固定数量参数的函数