重新定义(#define)保留的C++关键字

2024-02-12

是否可以使用 #define 重新定义 C++ 关键字?

#ifdef int
#undef int 
#define int 2
#endif
int main(){
    //Do something with int
}

在这种情况下我看不到输出,但我想了解内部发生的情况。我没有 #define 的原因是我发现如果不使用标准头文件,则可以 #define 保留关键字。我还尝试运行以下代码。

#include<iostream>
using namespace std;
#ifdef int
#undef int 
#endif
int main(){
    cout<<int;
}

但上面的 te 在 cout 行抛出错误。


是否可以?是的。款式好不好?绝对不。

预处理器不知道 C/C++ 关键字,它只知道预处理器标记,并且只执行严格的文本替换。

您的示例会导致错误,因为您是#undef荷兰国际集团它。一旦取消定义,它就会恢复到之前的行为。

我知道做这样的事情的唯一有效用途是解决旧编译器中的错误 https://stackoverflow.com/questions/984878/what-is-the-possible-use-for-define-for-if-false-else-for,而该编译器如今已不再相关。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重新定义(#define)保留的C++关键字 的相关文章

  • Qt - QProcess 不工作

    我尝试启动 Internet Explorer 所以我使用下面的代码 QProcess process new QProcess this QString temp C Program Files Internet Explorer iex
  • 更新面板工作速度非常慢

    我正在编写一个用户可以注册的应用程序 注册时 可以选择多个选项 并根据这些注册字段可见或不可见以及是否必需 我想出了一个想法 所有字段都将位于 updatePanel 中 当用户更改注册选项时 我将在服务器端设置这些字段的可见性 它可以工作
  • 为什么这个 Web api 控制器不并发?

    我有一个 Web API 控制器 里面有以下方法 public string Tester Thread Sleep 2000 return OK 当我调用它 10 次 使用 Fiddler 时 我预计所有 10 次调用都会在大约 2 秒后
  • 尝试了解使用服务打开对话框

    我已经阅读了有关使用 mvvm 模式打开对话框的讨论 我看过几个使用服务的示例 但我不明白所有部分如何组合在一起 我发布这个问题寻求指导 以了解我应该阅读哪些内容 以更好地理解我所缺少的内容 我将在下面发布我所拥有的内容 它确实有效 但从我
  • 按扩展名过滤搜索文件返回太多结果

    我正在开发一个 C 控制台应用程序 它必须管理 Windows 操作系统上的文件 我需要获取具有特定扩展名的文件名 列表 我找到了很多解决方案 最建议的是以下一种 HANDLE hFind WIN32 FIND DATA data hFin
  • 未找到 Boost 库,但编译正常

    我正在尝试在 C 中使用 boost 的文件系统 使用时看起来编译没问题 c c Analyse c o Analyse o g W Wall L usr local lib lboost filesystem lboost system
  • 循环遍历 C 结构中的元素以提取单个元素的值和数据类型

    我有一个要求 我有一个 C 语言的大结构 由大约 30 多个不同数据类型的不同元素组成 typedef struct type1 element1 type2 element2 type3 element3 type2 element4 1
  • 有些有助于理解“产量”

    在我不断追求少吸的过程中 我试图理解 产量 的说法 但我不断遇到同样的错误 someMethod 的主体不能是迭代器块 因为 System Collections Generic List 不是迭代器接口类型 这是我被卡住的代码 forea
  • 如何将 .txt 文件中的数据转换为 xml? C#

    我在一个文本文件中有数千行数据 我想通过将其转换为更容易搜索的内容来轻松搜索 我希望 XML 或其他类型的大型数据结构 尽管我不确定它是否是最好的对于我的想法 每行的数据如下所示 第 31 册 托马斯 乔治 32 34 154 每本书都不是
  • cpp.react库的C++源代码中奇怪的“->* []”表达式

    这是我在文档中找到的 C 片段cpp react 库 https github com schlangster cpp react implicit parallelism auto in D MakeVar 0 auto op1 in g
  • RestSharp获取序列化输出

    我正在寻找一种方法来访问 AddBody 调用的序列化结果 我正在使用内置的 RestSharp 序列化器 例子 class Foo public string FooField void SendRecord var f new Foo
  • 语音识别编程问题入门

    所以 你们可能都看过 钢铁侠 其中托尼与一个名为贾维斯的人工智能系统进行交互 演示剪辑here http www youtube com watch v Go8zsh1Ev6Y 抱歉 这是广告 我非常熟悉 C C 和 Visual Basi
  • 即使没有异步,CallContext.LogicalGetData 也会恢复。为什么?

    我注意到CallContext LogicalSetData LogicalGetData不按照我期望的方式工作 内部设置的值async方法得到恢复即使没有异步或任何类型的线程切换 无论如何 这是一个简单的例子 using System u
  • 不同 C++ 文件中的相同类名

    如果两个 C 文件具有相同名称的类的不同定义 那么当它们被编译和链接时 即使没有警告也会抛出一些东西 例如 a cc class Student public std string foo return A void foo a Stude
  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判
  • 在 C 中使用枚举而不是 #defines 作为编译时常量是否合理?

    在 C 工作了一段时间后 我将回到 C 开发领域 我已经意识到 在不必要的时候应该避免使用宏 以便让编译器在编译时为您做更多的工作 因此 对于常量值 在 C 中我将使用静态 const 变量或 C 11 枚举类来实现良好的作用域 在 C 中
  • Visual Studio 2015:v120 与 v140?

    仅供参考 Win10 x64 我今天开始尝试 Visual Studio 2015 在弄清楚如何运行 C C 部分后 我尝试加载一个大型个人项目 该项目使用非官方的glsdk http glsdk sourceforge net docs
  • WPF DataGrid / ListView 绑定到数组 mvvm

    我们假设你有 N 个整数的数组 表示行数的整数值 在模型中 该整数绑定到视图中的 ComboBox Q1 如何将数组 或数组的各个项目 绑定到 DataGrid 或 ListView 控件 以便 当您更改 ComboBox 值时 只有那么多
  • EntityFramework 6.0.0.0 读取数据,但不插入

    我创建了一个基于服务的数据库 folderName gt Add New Item gt Data gt Service based Database文件到 WPF 应用程序中 然后我用过Database First方法并创建了Person
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的

随机推荐

  • 为什么并行化会如此显着地降低性能?

    我有一个 OpenMP 程序 数千行 无法在这里重现 其工作原理如下 它由工作线程和任务队列组成 一个任务由一个卷积组成 每次工作线程从工作队列中弹出任务时 它都会执行所需的卷积 并可选择将更多卷积推送到队列中 没有特定的 主 线程 所有工
  • 使用 React Router 和 Redux Simple Router 进行 onEnter 转换不会渲染新路由的组件

    我有一个使用react 0 14 redux 3 05 react router 1 0 3 和 redux simple router 2 0 2 的应用程序 我正在尝试根据商店状态为我的一些路线配置 onEnter 转换 转换挂钩成功触
  • 一个视图中的两个模型模板 - Backbone/Marionette

    我试图在一个视图中使用两个模型 并使用这两个模型的模板 我正在和木偶一起工作 这是我对视图的初始化 main app layout header show new APP Views HeaderView model oneModel mo
  • 如何将信号从一个程序发送到另一个程序?

    我使用消息队列作为两个程序之间的 IPC 现在我想使用消息队列将数据从一个程序发送到另一个程序 然后通过信号 SIGINT 通知它 我不知道如何将信号从一个程序发送到另一个程序 如果有解决方案 任何人都可以提供示例代码吗 include
  • 我应该如何选择如何使用 R 进行打印? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 R 中有多种显示文本的方法 cat print write writeLines sink message 以及我现在不记得的其他替代
  • 为什么 XML 命名空间通常以 http://... 开头?

    例如 WPF 命名空间是 xmlns http schemas microsoft com winfx 2006 xaml presentation 如果我定义自己的命名空间 它也应该以http开头吗 不是http吗误导性的 命名空间的值没
  • 在方法参数中使用 NotNull 注解

    我刚刚开始使用 NotNull使用 Java 8 进行注释并得到一些意想不到的结果 我有一个这样的方法 public List
  • 自定义 django 管理模板不起作用

    我一直在尝试为 Django 工作的管理页面获取自定义模板 但没有成功 我已经阅读了 django 文档和几个博客 它们将其解释为一个如此简单的步骤 我认为这是如此 截至目前 管理页面可以工作 但我自己重写的 CSS 或模板不起作用 我的设
  • 每个优秀的 Java/Java EE 开发人员都应该能够回答的问题? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 无法重新分配$this?

    我的服务器上有一个 php 版本 4 的脚本 现在它已更改为 php5 并且该脚本不再起作用 我收到此错误 致命错误 无法在 URL database php 第 88 行中重新分配 this 该文件中有一个具有函数的类 里面是88行 th
  • 大稀疏矩阵到三角矩阵 R

    我在 R 中有一个非常大的 大约 9100 万个非零条目 sparseMatrix 如下所示 gt myMatrix a b c a 1 2 b 1 c 2 我想将其转换为三角矩阵 上或下 但是当我尝试 myMatrix myMatrix
  • Applescript 抓取 GIF 文件位置,将其复制到剪贴板,然后粘贴

    我正在尝试编写一个苹果脚本来定位 复制和粘贴图像文件 以下代码适用于jpegs and pngs set thePath to file location set the clipboard to read thePath as class
  • glibc/NPTL/Linux 稳健互斥体中的竞争条件?

    在对该问题的评论中在 Unix 崩溃时自动释放互斥锁 https stackoverflow com questions 4149266 automatically release mutex on crashes in unix rq 1
  • 从“NSDecimal”或“NSDecimalNumber”转换为 C# 的“decimal”类型

    我有一个NSDecimalNumber来自 StoreKit 的SKProduct类 我想将其转换为 C 的decimal类型以尽量减少精度损失 有没有直接的方法来做这样的事情 我想我的两个选择是 假设我了解每个的二进制实现并进行我自己的按
  • AngularJS 将数据传递给 $http.get 请求

    我有一个执行 http POST 请求的函数 代码如下 这很好用 http url user update path method POST data user id user id draft true 我有另一个 http GET 函数
  • webpack-dev-server 未重新加载

    我正在使用 webpack 5 目前有以下设置 webpack prod js 我有一些用于生产的特定配置 例如图像压缩 开发工具 CSS 缩小 特定元标记值 webpack dev js 我有一些用于开发的特定配置 例如 无图像压缩 无
  • 防止 CMake 查看库和包含的路径

    考虑下面的简单 CMake 脚本 试图找到一个虚构的theheader hC 头文件 据我所知 这是在目录中查找库的包含目录的典型方法FindXXX cmake模块 cmake minimum required VERSION 2 6 pr
  • 在meteor中,pub/sub可以用于任意内存对象(不是mongo集合)

    我想在我的流星应用程序中建立双向 双向 通信 但我需要在不使用 mongo 集合的情况下做到这一点 那么 pub sub 可以用于任意内存对象吗 有没有更好 更快或者更低级的方法 性能是我最关心的问题 Thanks 是的 pub sub 可
  • 在 PHP 中为 MySQL 表的每一行添加一个删除按钮

    我试图在每一行添加一个删除按钮 以便按下按钮时可以删除记录 我是 PHP MySQL 和 Stack Overflow 的新手 下面是我的表 它从我的 MySQL 数据库中提取信息并且有效 table class table tr th S
  • 重新定义(#define)保留的C++关键字

    是否可以使用 define 重新定义 C 关键字 ifdef int undef int define int 2 endif int main Do something with int 在这种情况下我看不到输出 但我想了解内部发生的情况