有时我们需要预先声明一个静态变量然后使用它.但是这个声明的变量名可能是错误的,编译器无法检测到它,哎呀!
例:
/* lots of codes */
static some_type some_name; /* pre-declaration */
/* but it may define "some_name" */
/* use some_name */
/* lots of codes */
static some_type someName = initialization; /* definition */
/* use someName */
/* lots of codes */
Run Code Online (Sandbox Code Playgroud)
"some_name"和"someName"不同,我们在开头使用了一个错误的变量.如果预声明语句没有定义任何内容,编译器将检测到错误.
那么,如何声明静态变量但不定义它?如何将预声明更改为新的声明,使编译器可以检测到错误的名称?
我经常用grep -rIn pattern_str big_source_code_dir来找东西.但是grep不平行,我该如何让它平行?我的系统有4个核心,如果grep可以使用所有核心,它会更快.