gpt4 book ai didi

c++ - __VA_ARGS__,此代码片段可移植吗?

转载 作者:行者123 更新时间:2023-11-27 23:09:47 29 4
gpt4 key购买 nike

此代码片段是否可移植?

定义:

#define log(...)  std::cout << __FILE__ << "[" << __LINE__  << "]:" \
<< string_format(__VA_ARGS__) \
<< std::endl << std::flush

用法:

log("i = %d", i);

string_format 是 sprintf,它输出一个 std::string 取自 https://stackoverflow.com/a/8098080/624074它适用于我的 gcc 4.6.3,但我不想以后使用其他编译器时出现编译问题。

最佳答案

是的,宏 __VA_ARGS__ 是标准 C++ 的一部分:

C++11 §16.3.1 Argument substitution

An identifier __VA_ARGS__that occurs in the replacement list shall be treated as if it were a parameter, and the variable arguments shall form the preprocessing tokens used to replace it.

关于c++ - __VA_ARGS__,此代码片段可移植吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21010506/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com