下面的宏可能会给应用程序带来什么问题?

2023-12-06

下面的宏会带来问题吗?

#define sq(x) x*x

如果是,那么如何以及为什么?请帮忙。


是的,它可能会带来问题。除了宏根本不尊重命名空间这个明显的事实(这意味着你不能调用其他任何东西)sq),请尝试以下操作:

int result = sq(4) / sq(4);

你应该包围x * x带括号,所以它变成((x) * (x)).

另一个问题:

int a = 0;
int result = sq(++a);

这是宏的固有问题,也是首选内联函数的原因之一。

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

下面的宏可能会给应用程序带来什么问题? 的相关文章

  • 语言混合:模型和视图

    考虑开发一个应用程序 其中模型将使用 C 使用 Boost 编写 视图将使用 Objective C 使用 Cocoa Touch 编写 哪里有一些示例展示了如何集成 C 和 Objective C 来开发 iPhone 应用程序 直接从源
  • 在两个 .cpp 文件之间定义全局变量 [重复]

    这个问题在这里已经有答案了 如何在 A cpp 和 B cpp 之间共享 全球化 bool 变量 其中它们都不包含其他 h 文件 他们有其他联合头文件 但彼此没有 我可以在这些共享标头中定义全局变量吗 Thanks 我可以在这些共享标头中定
  • C#9 顶级语句文件上的属性

    我正在尝试向顶级语句文件添加属性 但没有找到任何相关信息 是否可以 对于某些上下文 我想仅在该文件中禁用规则 SuppressMessage StyleCop CSharp LayoutRules SA1516 ElementsMustBe
  • 实体框架中的重复键异常?

    我试图捕获当我将具有给定用户名的现有用户插入数据库时 引发的异常 正如标题所说 我正在使用 EF 当我尝试将用户插入数据库时 引发的唯一异常是 UpdateException 如何提取此异常以识别其是否是重复异常或其他异常 catch Up
  • 如何将 C++ 类包装在基于 C 的 dll 或基于 CLI 的 dll 中?

    我被告知将我用 C 编写的类导入到 dll 中 然后在 c 应用程序中使用该 dll 下列的本指南 https stackoverflow com questions 4555961 how to use a class in dll我创建
  • C++ - 模板专业化和部分专业化

    我一直在互联网和 stackoverflow 上寻找具体的答案 但我似乎找不到 我必须创建一个通用类 然后实现特定的功能 我的具体说明是 您需要使用模板表达式参数以及模板类专业化和部分专业化 我有一个模板类 template
  • TestMethod:异步任务 TestSth() 不适用于 .NET 4.0

    我正在尝试使用 NET 4 0 BCL Async 和 MsTest 运行异步测试方法 看来这个设置不能处理 测试方法 异步Task测试Sth 由于测试用例资源管理器中缺少条目 将签名更改为异步后void 我可以运行测试用例 但结果错误 根
  • 如何在 C++ 的子目录中创建文件?

    这是我的代码 如何在子目录联系人中创建文件 每次创建该文件时 它都会出现在与我的程序相同的目录中 int main ofstream myfile contacts myfile open a myfile close 在构造函数中指定完整
  • C++ 模板参数类型推断

    我有一个这样的C 模板 template
  • Windows 程序如何临时更改其时区?

    我写了一个函数来返回time t与给定日期的午夜相对应的值 当给定日期没有午夜时 它返回最早可用的时间 例如 当埃及进入夏令时时 这种情况就可能发生 今年 时间更改于 4 月 29 日晚上午夜生效 因此时钟直接从 23 59 转到 01 0
  • 使用 Microsoft Graph 创建用户

    如何使用 Microsoft graph 创建用户 因为我在保存过程中遇到了权限失败的问题 我确实有几个问题 在图中调用创建用户 API 将在哪里创建用户 是在 Azure AD 还是其他地方 我尝试通过传递 json 和必需的标头来调用创
  • 在 C++ 中处理音频缓冲区时,如何执行从 float -> double -> float 的转换

    我目前正在开发一个应用程序 其中音频样本帧在以下回调中进行处理 void Eav07AudioProcessor processBlock AudioSampleBuffer buffer for int channel 0 channel
  • 为什么在 .net 中使用 Invoke on Controls? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么 NET不允许跨线程操作 https stackoverflow com questions 2896504 why net does not allow cross thread operat
  • 向每个收件人发送一封包含不同内容的电子邮件(使用抄送字段)

    在你因为这个问题 毫无意义 和 不可能 而驳回之前 请听我说完 问题 我们在使用我们的系统发送的每封电子邮件中实施跟踪像素 即具有唯一 URL 的可下载 GIF 文件 这有助于我们跟踪电子邮件的打开情况 问题是 当我们抄送一些收件人时 跟踪
  • 为什么从绑定返回的对象会忽略额外的参数?

    假设我有一个带有两个参数的函数 void f int x int y 我想绑定其中之一 我可以用std bind如下 auto partiallyBoundF std bind f 10 1 partiallyBoundF仅需要一个参数 但
  • 无效的模板相关成员函数模板推导 - 认为我正在尝试使用 std::set

    我有一个继承自基类模板的类模板 基类模板有一个数据成员和一个成员函数模板 我想从我的超类中调用它 我知道为了消除对成员函数模板的调用的歧义 我必须使用template关键字 我必须明确引用this在超级班里 this gt base mem
  • Visual Studio 2015默认附加库

    当我在 VS 2015 中创建一个空项目时 它会自动将这些库放入 附加依赖项 中 kernel32 lib user32 lib gdi32 lib winspool lib comdlg32 lib advapi32 lib shell3
  • 网页执行回发时如何停止在注册表单上?

    我正在做我的最后一年的项目 其中 我在一页上有登录和注册表单 WebForm 当用户点击锚点时Sign Up下拉菜单ddlType 隐藏 和文本框 txtCustName txtEmail and txtConfirmPassword 显示
  • 请解释为什么Java和C对此代码给出不同的答案

    public class Test public static void main String args int i 10 i i System out println value of i is i 输出是 10 当我在中执行类似的代码
  • 如何设置 Swashbuckle 与 Microsoft.AspNetCore.Mvc.Versioning

    我们有asp net core webapi 我们添加了Microsoft AspNetCore Mvc Versioning and Swashbuckle拥有招摇的用户界面 我们将控制器指定为 ApiVersion 1 0 Route

随机推荐

  • 获取在 page_init 中触发回发的控制

    我有一个包含动态创建的下拉列表的网格视图 当更改下拉值并在网格上进行批量更新 btnUpdate click 时 我必须在页面初始化中创建控件 以便它们可用于视图状态 但是 我还有其他几个按钮也会导致回发 并且我不想在页面初始化中创建控件
  • 在生成语句中格式化日期

    在 Pig 中 我有一个语句 基本上将日期附加到我生成的值中 Data FOREACH Input GENERATE CurrentTime FLATTEN group COUNT guid oas Cnt 输出给了我日期2013 05 2
  • 正则表达式匹配-Java

    我正在从以下格式的文件中获取输入 int1 int2 int3 int4 现在我想在我的Java代码中读取int1 int2 int3和int4 我怎样才能用java中的正则表达式匹配来做到这一点 谢谢 String ints 2 3 4
  • 将服务器日志记录到一个文件,将 SQL 日志记录到另一个文件

    我想使用 Log4J 将所有服务器相 关日志 例如启动和关闭 记录到一个文件 并将所有 Hibernate SQL 相关日志记录到另一个文件 我正在尝试过滤所有不相关的日志以仅查看 SQL 查询 如果有办法实现的话 有什么想法或建议吗 Th
  • 使用 MVC 和 jQuery 进行内联客户端验证

    我设置了一个简单的示例来显示 jquery UI 对话框中的表单 并希望在该表单上启用内联客户端验证 然后我将脚本添加到我的母版页中 assets js jquery 1 4 3 min js gt gt assets js jquery
  • 带有 roboguice 抛出异常的简单 Android 应用程序

    我有一个非常简单的应用程序 可以运行 但是当我添加 roboguice 时 它 会抛出异常 java lang RuntimeException 无法实例化应用程序 com MyFirstApp MyFirstApplication jav
  • 如何将 Roman Nuriks Wizard Pager 审核中的数据放入数据库?

    好吧 我知道以前已经问过这个问题 但问题和答案都对我的情况没有帮助 我需要做的只是从向导末尾的审阅页面获取所有数据并将其放入我的 SQLite 数据库中 以便我将来可以在我的应用程序中使用它 我什至不确定在这种情况下我应该上哪门课 我真的希
  • Android无法从ListView Row中按钮的onClick中找到方法

    我有一个从自定义适配器填充的 ListView 每行有 1 个按钮 在 xml 中 按钮已传递 onClick 属性 我只有 xml 没有设置任何 OnClickListeners 另请注意 public void myMethod Vie
  • POSIX 正则表达式 - 零个或一个括号表达式匹配?

    我正在尝试使用正则表达式来解析源文件并搜索以 LOG 一词开头的 C 程序中的函数 后面可能会或可能不会出现类 1248AFM 中的第二个字符 然后后面跟着一个左括号 这是在 Windows 下使用 mingw 开发的 但最终将使用 gcc
  • YouTube API v3 错误:403(playlistItemsNotAccessible)

    这是我在 stackoverflow 上的第一篇文章 请让我知道我是否应该重新表述问题和 或提供有关该问题的更多详细信息 使用上提供的 javascript 示例https developers google com youtube v3
  • WebGL/OpenGL:性能比较

    出于教育目的 我需要比较 WebGL 与 OpenGL 的性能 我有两个用 WebGL 和 OpenGL 编写的等效程序 现在我需要获取它们的帧速率并进行比较 在 JavaScript 中我使用requestAnimationFrame动画
  • 如何从各个部分(例如文件夹路径、名称和扩展名)创建文件的完整路径?

    我需要将文件路径名传递给模块 如何从目录名 基本文件名和文件格式字符串构建文件路径 该目录在调用时可能存在也可能不存在 例如 dir name home me dev my reports base filename daily repor
  • 迭代时浮点数不精确

    我有一个函数 可以根据范围内的值计算 3d 空间中的点 0 1 我面临的问题是 二进制浮点数不能精确表示 1 函数中计算的数学表达式能够计算出以下值 t 1 0 但该值永远不会被函数接受 因为它在计算之前检查是否符合范围 curves er
  • 如何使用反应嵌入菜单循环

    我正在尝试做什么 学习为我的discord py 机器人制作一个合适的帮助菜单ctx message author根据给出的反应对消息做出反应 机器人会检查他们是否已做出反应 然后编辑消息 如果ctx message author如果不反应
  • 将“Position:fixed”div设置为与父div(flexbox项)相同的宽度

    如何使 NavWrapper 与父级的宽度相同 我希望这些链接位于固定位置 即使主要部分溢出 我知道如何在没有 Flex 的情况下做到这一点 有没有纯 CSS 的方法可以做到这一点 body padding 0 margin 0 wrapp
  • 如何从 $.getJSON 函数返回变量

    我想回来StudentId在其他地方使用scope of the getJSON j getJSON url data function result var studentId result Something use studentId
  • 如何使用libsvm进行文本分类?

    我想用 SVM 编写一个垃圾邮件过滤器程序 我选择 libsvm 作为工具 我收到了 1000 封好指甲和 1000 封垃圾邮件 然后我将它们分类为 700 封 good train 邮件 700 封 spam train 邮件300 封
  • 使用密度图对特定区域进行着色 - ggplot2

    我有一个关于数据可视化的问题ggplot2 我试图弄清楚如何在密度图中遮蔽特定区域 我用谷歌搜索了很多 并尝试了所有解决方案 我的代码是 original 12 lt data frame sum rnorm 100 30 5 sex c
  • 使用 PHP CLI 执行路由(控制器/操作)并检测 CLI 请求

    Laravel 4 中有没有办法使用 PHP CLI 运行我的控制器 操作 如果请求来自 CLI 我想扩展一个控制器 操作来执行替代操作 那么有没有办法将该请求识别为 CLI 请求 Laravel 文档这个网站似乎表明有一个方法 Reque
  • 下面的宏可能会给应用程序带来什么问题?

    下面的宏会带来问题吗 define sq x x x 如果是 那么如何以及为什么 请帮忙 是的 它可能会带来问题 除了宏根本不尊重命名空间这个明显的事实 这意味着你不能调用其他任何东西 sq 请尝试以下操作 int result sq 4