问题标签 [macros]

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.

0 投票
7 回答
7928 浏览

c++ - C++ 格式宏/​​内联 ostringstream

我正在尝试编写一个允许我执行类似操作的宏:FORMAT(a << "b" << c << d),结果将是一个字符串 - 与创建 ostringstream、插入a...d和返回相同.str()。就像是:

本质上,FORMAT(a << "b" << c << d) == f().

首先,我试过:

如果第一项是 C 字符串 ( const char *),它将以十六进制打印字符串的地址,并且下一项将正常打印。如果第一项是 an std::string,它将无法编译(没有匹配的 operator <<)。

这:

给出看似正确的输出,但0and\b当然存在于字符串中。

以下似乎有效,但编译时带有警告(获取临时地址):

有谁知道为什么 1 打印 c-string 的地址并且无法使用std::string? 1和3本质上不是一样的吗?

我怀疑 C++0x 可变参数模板将成为format(a, "b", c, d)可能。但是现在有办法解决这个问题吗?

0 投票
4 回答
847 浏览

eclipse - 是否有用于在 m4 中开发的 eclipse 插件?

谷歌搜索几乎没有出现。

我需要在 m4 中开发一些繁重的东西,我很想在我最喜欢的环境中完成它,其中包含所有的花里胡哨。

几乎每个平台都有用于运行 m4 的软件包,例如windows。所以我知道至少我可以创建一个默认项目并从 CLI 进行测试。但我宁愿不:)

0 投票
1 回答
1393 浏览

visual-studio - 是否有用于在已处理/未处理的异常上切换中断的 Visual Studio 快捷方式/宏?

我一直在尝试编写一个宏做相当于

  1. 按 Ctrl+Alt+E 调出异常窗口
  2. 切换“公共语言运行时异常”的“抛出”列中的文本框
  3. 打好

如果我记录这个,它只记录一行不做任何事情的宏代码。有人知道怎么做吗?

0 投票
3 回答
4858 浏览

sql - sql查询导致错误2950

此 SQL 查询由 Microsoft Access 2003 生成,运行时运行良好,但尝试从宏运行时失败。查询中是否有任何明显的错误,或者任何原因它不起作用?

0 投票
2 回答
379 浏览

macros - R6RS Scheme 的 make-variable-transformer 有什么好处?

在查看syntax-caseR6RS 中的部分时,我看到了关键字make-variable-transformer,描述为标识符宏。给出的例子非常少,我不明白为什么它是必要的,或者什么用例需要它。事实证明,寻找其使用的其他示例也很困难。大概它使某种形式的语法转换成为可能,或者更优雅?

0 投票
3 回答
682 浏览

scheme - 用于嵌套表达式的方案宏

可以用 Scheme 编写一个宏(define-syntax例如,使用 ),它将采用如下表达式:

并将这样的表达式作为输出?

当然,对于任意长度。给定这样的模板,我想不出办法:

0 投票
4 回答
3076 浏览

c++ - 如何用#include 替换这个预处理器宏?

更新: 显然,您希望使用模板或基类而不是宏来执行此操作。不幸的是,由于各种原因,我不能使用模板或基类。


目前我正在使用宏在各种类上定义一堆字段和方法,如下所示:

FIELDS_AND_METHODS是一个使用字符串化和标记粘贴运算符的多行宏。

我想用下面的东西代替它

这里我#define类的名称(以前是宏的参数),FieldsNMethods.h文件包含原始宏的内容。但是,因为我是#include,所以在调试时我可以在运行时单步执行代码。

但是,我在“字符串化”和“标记粘贴”文件TYPE_NAME中的预处理器符号时遇到了麻烦FieldsNMethods.h

例如,我想在 中定义类的析构函数FieldsNMethods.h,所以这需要使用如下的值TYPE_NAME

但用TYPE_NAME它的价值代替。

我正在尝试的可能吗?我不能直接使用字符串化和标记粘贴运算符,因为我不在宏定义中。

0 投票
9 回答
145936 浏览

macros - 如何为 Notepad++ 编写宏?

我想为 Notepad++ 编写一个宏,它应该分别用 char4、char5、char6 替换 char1、char2、char3。

0 投票
1 回答
5294 浏览

latex - 是否有一个 LaTeX 命令可以使文本全部小写?

嘿,我正在尝试使用 textsc 命令编写一个命令以在报告的首页上打印今天的日期,但是今天的日期大写了 12 月。

任何帮助将不胜感激。

0 投票
6 回答
668 浏览

ide - 录制宏的 IDE 优势是什么?

正如标题所说,我看到很多编辑将宏录制作为一项功能吹捧,但我自己却找不到利用这些功能的方法。那么你能用它做什么呢?您可以记录鼠标移动和/或击键的类型?对外面的人真的有那么大的帮助吗?具体来说,我处理具有许多内置“填充”功能的 Eclipse,所以我真的看不出有什么优势。