自己做的网站慢是什么原因,黄冈网站推广软件ios,做一个公司网站流程 由ui设计,在线网页爬虫工具1. static
首先使用static的主要目的是控制存储周期#xff0c; 链接性 和可见性 可以作为 1. 局部变量 2.类成员 3. 全局变量和函数
2. const
const 关键字用于声明一个变量为常量#xff0c; 一旦初始化之后#xff0c;它的值就不会被改变 。
2.1 常量表达式
声明为c…1. static
首先使用static的主要目的是控制存储周期 链接性 和可见性 可以作为 1. 局部变量 2.类成员 3. 全局变量和函数
2. const
const 关键字用于声明一个变量为常量 一旦初始化之后它的值就不会被改变 。
2.1 常量表达式
声明为const的变量必须在编译时就已知 并且不能被修改
2.2 类型修饰符
与static 不同的是 const可以作为类型修饰符表示变量或者对象的状态不可以修改 例如 const int 表示一个不可变的整型常量 const int* 表示一个指向整型常量的指针是指 指针指向的值不可以变 但是指针本省可以变 。
2.3 成员函数
在类的成员函数后使用const 关键字表示该成员函数不会修改对象的状态 这中类函数可以称为访问器或者只读函数 如代码 Eigen::MatrixXd SolveQPClosedForm(int order,const Eigen::MatrixXd Path,const Eigen::MatrixXd Vel,const Eigen::MatrixXd Acc,const Eigen::VectorXd Time);//const Eigen::MatrixXd Acc 常量引用这意味着可以访问但是不能修改它的值3. const的作用
声明一个局部或者全局变脸那个为 常量修饰函数的参数 表示在函数提内部不能修改该参数的值修改函数的返回值 3.1. 如果给用const修饰的返回值的类型为指针 那么函数的返回值即指针的内容是不能被修改的 而且这个返回值只能赋值给被const 修饰的指针 就比如
const char getstring() ;
char *str getdtring() ; //这是不对的因为str没有被const修饰 正确的应该是
const char * str getstring() ; 3.2 如果用const修饰的普通返回值如 返回int 变量 由于这个返回值是一个临时的变量 在函数调用后也结束了这个临时变量的生命周期 因此把这些返回值使用cost修饰是没有意义的。 4. 节省空间避免不必要的内存分配
#define PI 3.1415926 ; //该宏用来定义常量
const double pi 3.1415926 ; //此时并未将pi放入只读容器中
double i pi ; //此时pi分配内存 此后不在分配
double I PI ;//编译期期间进行内存分配
double J pi ; //没有内存分配再次进行宏替换有一次分配内存