C++ 版本的 VBA,带有更优雅代码的命令

标签 c++ vba optimization

我正在用 C++ 编写:

returner.token[0].type = "a";
returner.token[0].fQF = "b";
returner.token[0].val = "c";
returner.token[0].pos = "d";
returner.token[0].emit = "e";

在VBA中,你可以这样写:

with returner.token[0]
    .type = "a"
    .fQf = "b"
    .val = "c"
    .pos = "d"
    .emit = "e"
end with

C++ 中是否内置了类似的功能?

谢谢!

最佳答案

您正在寻找引用。

auto& r = returner.token[0];
r.type = "a";
r.fQF = "b";
r.val = "c";
r.pos = "d";
r.emit = "e";

在这里可以帮助您的其他机制包括定义适当的构造函数,以及使用大括号初始化列表(如果适用)。

没有像 Visual Basic with 这样的 C++ 语句:它只是没有必要,引用可以更明确地完成这项工作。

关于C++ 版本的 VBA,带有更优雅代码的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31714931/

相关文章:

c++ - PostMessage 不适用于 WM_PASTE,mfc

vba - 用于连接到 FTPS 服务器的 Excel 宏代码,即 FTP Over SSL 而不是 FTP 服务器

excel - 当 ListBox.RowSource 不返回任何结果时,允许列表框不显示任何结果

python - 通过取消列出值并保留索引来构建 pandas 数据框

postgresql - 帮助改进查询。尝试使用 EXPLAIN

java - CRC纠错库?

c++ - 为桌面应用程序发送 http 请求的最佳库是什么

c++ - gcc 链接器和 OGDF "undefined reference to ` ogdf::Initialization::Initialization( )'"

vba - UserForm.Caption 有什么问题?

optimization - GCC热属性语义