等价typedef之间的Arithematic
Arithemtic between equivalent typedefs
我正在为我的编译器类编写一个C++编译器,对此我很好奇。等价typedefs之间的算术因此,b/c typedefs具有松散的名称等价性:
typedef int FOO;
typedef int BAR;
int test;
FOO i;
BAR j;
i = 1;
j = 2;
test = i + j; // Code clarity
这应该有效吗?typedef真的只是美化了基类型吗?还是它们级联成了一个层次结构?
是的,这会很好,但在获得structs时请考虑这种情况。
在C和C++中,typedef声明定义了类型名的别名。它没有定义新的类型。编译器必须将每个typedef(必要时递归)解析为不包含typedef名称的类型描述符。(如果这是不可能的,程序是不完善的。)
因此,FOO(1) + BAR(2)
不仅工作得很好,没有隐式转换,而且定义为FOO
的变量将在模板专用化中与int
匹配。
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- 在cuda线程之间共享大量常量数据
- 在c代码之间共享数据的最佳方式
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 大小相等但成员数量不同的结构之间的性能差异
- 类与私有变量的其他类之间的线程安全性
- 如何在cpp文件之间切换窗口?在Qt中
- 线程之间的布尔停止信号
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 在 const 函数中通过引用和指针返回之间的区别
- 我想知道长双倍和双倍之间的区别
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- 使用.find函数在c++中查找字符和另一个字符之间的大小
- 构造函数和转换运算符之间的重载解析
- 等价typedef之间的Arithematic