初始化C++类变量的简单脚本
来源:互联网 发布:人工智能:伏羲觉醒 编辑:程序博客网 时间:2024/06/10 01:35
程序员是很懒的。我们都知道,成员变量要初始化,要不就会出现很蛋疼的问题。但是一个有50个变量的类,去一个个写初始化式很傻,又不能跟c一样直接memset(POD可以)。
想把初始化这部分自动化,在网上找半天找不到相应的脚本(如果谁有希望能告诉我没,谢谢:)),于是只好自己写了个简单的,顺便分享下:
#!/bin/sh#useage#./variables_initializate.sh path_to_your_header_file [op]#op 1,init the variables in the class initialization function.#otherwise,treat as the default modetype="bool|int|long|float|double|char|[[:alnum:]]+\*"# $2 is empty or not equal 1if [[ -z $2 ]] || [ $2 -ne 1 ]; thencat $1 \| grep -E "^[[:space:]]*($type)[[:space:]]*[a-zA-Z0-9]+;" \| sed "s/^[[:space:]]*bool[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1 = false;/" \| sed "s/^[[:space:]]*int[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1 = 0;/" \| sed "s/^[[:space:]]*long[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1 = 0;/" \| sed "s/^[[:space:]]*float[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1 = 0.0f;/" \| sed "s/^[[:space:]]*double[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1 = 0.0f;/" \| sed "s/^[[:space:]]*char[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1 = 0;/" \| sed "s/^[[:space:]]*[[:alnum:]]\{1,\}[[:space:]]\{0,\}\*[[:space:]]\{0,\}\([[:alnum:]]\{1,\}\);/\1 = NULL;/"elsecat $1 \| grep -E "^[[:space:]]*($type)[[:space:]]*[a-zA-Z0-9]+;" \| sed "s/^[[:space:]]*bool[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1(false),/" \| sed "s/^[[:space:]]*int[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1(0),/" \| sed "s/^[[:space:]]*long[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1(0),/" \| sed "s/^[[:space:]]*float[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1(0.0f),/" \| sed "s/^[[:space:]]*double[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1(0.0f),/" \| sed "s/^[[:space:]]*char[[:space:]]\{1,\}\([[:alnum:]]\{1,\}\);/\1(0),/" \| sed "s/^[[:space:]]*[[:alnum:]]\{1,\}[[:space:]]\{0,\}\*[[:space:]]\{0,\}\([[:alnum:]]\{1,\}\);/\1(NULL),/"fi
用法就是
./variables_initializate.sh 头文件路径 可选参数1
如果加了参数,那么就生成类构造函数里头初始化的形式
如果没加,那么默认就是直接初始化的方式
- 初始化C++类变量的简单脚本
- C语言变量的初始化
- C语言变量的初始化
- C/C++ 变量的初始化
- 【C++】变量(三) 变量的初始化
- C/C++变量的初始化
- C++_类_不同类型成员变量的初始化方式
- Java类的初始化、变量的初始化
- 变量的初始化、类的初始化
- C语言中变量的初始化问题
- C程序中,变量的初始化问题
- C语言中指针变量的初始化
- C语言结构变量的初始化
- 【C语言基础】数组变量的初始化
- 【C++】结构体变量的初始化
- C与C++变量的初始化
- C语言 - 变量初始化的重要性
- C语言静态变量的初始化
- oracle 的伪列rownum,排序order by分析
- KindEditer For Asp.net 图片上传
- ios简单sqlite使用
- Firebird 数据库管理系统
- 赫夫曼编码
- 初始化C++类变量的简单脚本
- 鼠标下面子窗口响应滚轮消息 WM_MOUSEWHEEL,而不需要焦点,也不改变焦点。
- alv中的style
- 系统提示一个程序正在被另一个程序调用,如何知道是被哪个程序调用
- 找工作二三事
- 男人只有有了钱才有自信
- 使用 Android PreferenceScreen 偏好显示类(android.preference.PreferenceScreen)
- c++小知识
- Mysql MyISAM引擎相关数据文件浅析