C++程序设计--宏定义使用--返回值
来源:互联网 发布:旧java se 6 for mac 编辑:程序博客网 时间:2024/06/03 17:20
//macro.cpp
#include <iostream> using namespace std; #define getAvgTime(x) ({ \ x+10; \ //千万不要写成return x+10;g++编译器会报错 }) int main() { int x = 10, y=0; y =getAvgTime(x); cout <<"x = " << x <<", y = " << y <<endl; return 0; }
其他写法:
#define getAvgTime(x,ts) \({ \ static uint64_t stat_##x##_avg_dur = 0; \ static uint64_t stat_##x##_count = 0; \ static uint64_t stat_total_##x##_dur = 0; \ int64_t retValue = 0; \ if (ts < 1000) { \ stat_##x##_count++; \ stat_total_##x##_dur += ts; \ stat_##x##_avg_dur = stat_total_##x##_dur / stat_##x##_count; \ retValue = stat_##x##_avg_dur; \ } else { \ retValue = -1; \ } \ retValue; \ //不要写return retValue, 可使用(?:)的方式。)}) int64_t avg_init_t = getAvgTime(Init, init_time);
注意返回值应包含在({})中,如#define get(x) ({x>10?x:-1})
阅读全文
1 0
- C++程序设计--宏定义使用--返回值
- C宏定义使用
- 《C语言及程序设计》程序阅读——宏定义
- C 宏定义的使用
- 【C++】灵活使用C/C++宏定义
- 带返回值的宏定义
- GetLastError的使用和返回值定义大全
- CDEFINES用于定义C语言使用的宏定义
- C语言宏定义的使用
- C语言宏定义使用技巧
- C语言宏定义使用技巧
- c语言宏定义的使用(一)
- c语言宏定义的使用(二)
- C语言宏定义使用技巧
- C语言宏定义使用技巧
- C语言宏定义使用技巧
- C语言宏定义使用技巧
- 在c/c++ 使用宏定义 注释 //
- redis入门学习
- 数论
- zigzag pattern
- 关于百度地图SDK v3.6.0以上版本找不到PoiOverlay类(开源代码)的解决方法
- 异常处理try...except、raise
- C++程序设计--宏定义使用--返回值
- gradle find bugs
- HttpClient POST 请求每次响应延迟3秒问题
- HTML之固定定位
- css transform制作三角图形
- VC 隐藏驱动器 -win7下测试可用
- 1.偏头痛杨的rocketmq4.x入门之基础概念扫盲篇
- Oracle数据移动-导入和导出
- 多线程