当前位置: 首页 > news >正文

电子商务网站开发 php做非法网站

电子商务网站开发 php,做非法网站,阿里云的虚拟主机用什么做网站,wordpress文章展示相册const 和 #define 的区别 ? const 和指针一块出现的时候#xff0c;到底谁不能修改 #xff1f; const 和 volatile 能同时修饰一个变量吗 ? const 在 c 中的作用 ? 1 const 和 #define 的区别 const 和 #define 的相同点#xff1a; (1) 常数 const 和 #define 定…const 和 #define 的区别 ? const 和指针一块出现的时候到底谁不能修改 const 和 volatile 能同时修饰一个变量吗 ? const 在 c 中的作用 ? 1 const 和 #define 的区别 const 和 #define 的相同点 (1) 常数 const 和 #define 定义的对象我们都可以当做一个常数来使用。 const 和 #define 的区别 (1) 生命周期 #define 在编译预处理的时候会做字符串替换替换之后宏就不存在了也就是说宏的声明周期只存在于源码和预处理阶段。在目标文件中程序运行的时候宏是不存在的。 const 修饰的变量在编译阶段会做语法检查如果有显式修改会报编译错误。const 常量在运行时也是实际存在的存在于栈或者数据段中。 (2) 作用域 #define 定义的宏只要包含了这个头文件都可以使用这个宏在源文件中宏定义之后的代码也都可以访问这个宏即使宏定义函数内部那么这个宏定义后边的其它函数也是可以使用这个宏的。 const 修饰的局部变量只能在函数内访问const 修饰的全局变量和普通全局变量的作用域是相同的。 (3) #define 修饰的宏可以 redifine 如下代码在函数 test2() 内部对HOURS_PER_DAY 进行了重定义。重定义虽然是在函数内部但是对后边的函数都是生效的。在 test2() 中重定义在函数 test3() 中也是生效的。 #include stdlib.h #include stdio.h #include string.h#define HOURS_PER_DAY 24void test1() {printf(1, hours per day %d\n, HOURS_PER_DAY); }void test2() {#undef HOURS_PER_DAT#define HOURS_PER_DAY 20printf(2, hours per day %d\n, HOURS_PER_DAY); }void test3() {printf(3, hours per day %d\n, HOURS_PER_DAY); }int main() {test1();test2();test3();return 0; }在 c 编码规范中推荐使用 const 常量而不是 #define。 从上边的分析也可以看出来#define 是可以重定义的并且 #define 定义的宏没有作用域限制。这就可能给代码带来不安全性。 而对于 const 来说局部变量的作用域只是函数内全局 const 变量也不能重新修改。 const  的作用域限制更加严格所以使用 const 安全性会更高。 2 const 和指针一块出现的时候到底谁不能修改 const 修饰的是谁那么谁就不能修改。 int a 10; int * const pa1 a; // const 修饰的是 int * 类型是指针所以 pa1 不能修改*pa1 可以修改 const int *pa2 a; // const 修饰的是 int 类型所以 pa2 可以修改*pa2 不能修改 const int * const pa3 a; // pa3 和 *pa3 均不能修改 如下是代码和编译结果。 a 是 const 常量所以不能修改。 p1 中 const 修饰的是 int 常量所以 *p1 不能修改p1 可以修改。 p2 中 const 修饰的是指针所以 p2 不能修改*p2 可以修改。 p3 const 修饰了指针和 int 值所以 p3 不能修改*p3 也不能修改。 3 const 和 volatile 能不能修饰同一个变量 可以。 这两个关键字从字面意思上是有一些矛盾的。const 是说这个变量是常数不能修改volatile 又说这个变量是易变的。 但是两者可以修饰同一个变量侧重点并不矛盾。const 是提醒编译器这个变量是常数不能在代码中显式修改我们使用它的目的就是这样的不让在代码中显式修改volatile 说变量是易变的告诉编译器不要做访问优化每次访问的时候都要到内存中去取值。 在嵌入式开发中常常用到 volatile 来修饰寄存器变量寄存器变量不允许软件显式修改但是硬件可以修改。这个时候就可以使用 const 和 volatile 进行修饰。 4 const 在 c 中的作用 (1) 左值引用指向右值 如下代码 ra2 是左值引用左值引用不能直接指向一个右值。 ra3 是一个 const 左值引用可以指向一个右值。 从运行结果可以看出来const 左值引用可以指向右值右值也是保存在栈里的 ra3 的地址和 a 的地址挨着。 从运行结果可以看出来const 引用 ra3通过地址间接修改也是可以修改的。 #include iostream #include stringint main() {int a 10;int ra1 a;// int ra2 10; // error: cannot bind non-const lvalue reference of type ‘int’ to an rvalue of type ‘int’const int ra3 10;std::cout a addr a , ra3 addr ra3 std::endl;int *p (int *)ra3;std::cout ra3 ra3 std::endl;*p 100;std::cout ra3 ra3 std::endl;return 0; }(2) 修饰成员函数 用 const 修饰的成员函数在函数中不能修改类的成员变量。 #include iostream #include stringclass Test { public:Test() {a 10;std::cout Test() std::endl;}~Test() {std::cout ~Test() std::endl;}void Do() const {a 100;}void Do1(int data) {a 100;data 200;}int a; };int main() {Test t;t.Do();return 0; }5 参考 linux 下 c 语言中的局部 const 常量可以修改 [c 语言] 实例观察 c 语言中 volatile 的作用
http://www.dnsts.com.cn/news/231784.html

相关文章:

  • wordpress手机站点帮你省网站怎么做
  • 网站建设找美橙互联抖音小程序锚点解绑是什么意思
  • wordpress先生杭州seo价格
  • wordpress评论加入点赞湖南网站营销seo哪家好
  • 如何微信做演讲视频网站wordpress博客模板推荐
  • 军人运动会官方网站建设目标百度知道下载安装
  • 国外psd免费下载网站网站上的图是怎么做的
  • 崇文企业网站建设公司网站做优化公司
  • 江西省住房和城乡建设厅的网站对网络平台的优化有哪些建议
  • html网站模板免费下载app 手机软件
  • 广州网页建站企业网站维护合同
  • wordpress添加专题功能2个网站 同意内容 百度优化
  • 怎么建设网站多少钱wordpress有手机版么
  • 商城做网站哪家好绵阳市做公司网站
  • 网站开发公司成都深圳市住房和建设局李秀钗
  • 手机怎么管理wifi踢人驻马店做网站优化
  • 长沙哪家做网站设计好网站一级域名和二级域名
  • 建网站培训机构设计公司注册需要什么条件
  • 郴州网站seo外包济宁网站建设流程
  • 绵阳建网站wordpress空间服务器
  • 购物网站首页模板中国建筑网上测评
  • 关键词查询网站红番茄 网站点评
  • 中国建设银行网站缴费系统廉江市住房和城乡建设局网站
  • 网站建设项目招标书网站运营团队管理
  • 站长统计app软件下载官网wordpress和wamp
  • 网站开发人员需要去做原型吗建设一个网站需要做哪些事情
  • 松江新城网站建设咸阳seo优化
  • 哪种语言做网站设计软件有哪几种
  • 安卓商城重庆店铺整站优化
  • 阀门行业网站怎么做推广软文范文800字