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

合肥制作网站公司济南产品设计公司

合肥制作网站公司,济南产品设计公司,企业门户网站开发平台的设计,系统推广公司C 存储类 存储类定义 C 程序中变量/函数的范围#xff08;可见性#xff09;和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C 程序中可用的存储类#xff1a; autoregisterstaticexternmutablethread_local (C11) 从 C 17 开始#xff0c;auto 关键字不再…C 存储类 存储类定义 C 程序中变量/函数的范围可见性和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C 程序中可用的存储类 autoregisterstaticexternmutablethread_local (C11) 从 C 17 开始auto 关键字不再是 C 存储类说明符且 register 关键字被弃用。 auto 存储类 自 C 11 以来auto 关键字用于两种情况声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。 C98标准中auto关键字用于自动变量的声明但由于使用极少且多余在 C17 中已删除这一用法。 根据初始化表达式自动推断被声明的变量的类型如 auto f3.14; //double auto s(hello); //const char* auto z new auto(9); // int* auto x1 5, x2 5.0, x3r;//错误必须是初始化为同一类型 register 存储类 register 存储类用于定义存储在寄存器中而不是 RAM 中的局部变量。这意味着变量的最大尺寸等于寄存器的大小通常是一个词且不能对它应用一元的 运算符因为它没有内存位置。 {register int miles; } 寄存器只用于需要快速访问的变量比如计数器。还应注意的是定义 register 并不意味着变量将被存储在寄存器中它意味着变量可能存储在寄存器中这取决于硬件和实现的限制。 static 存储类 static 存储类指示编译器在程序的生命周期内保持局部变量的存在而不需要在每次它进入和离开作用域时进行创建和销毁。因此使用 static 修饰局部变量可以在函数调用之间保持局部变量的值。 static 修饰符也可以应用于全局变量。当 static 修饰全局变量时会使变量的作用域限制在声明它的文件内。 在 C 中当 static 用在类数据成员上时会导致仅有一个该成员的副本被类的所有对象共享。 #include iostream// 函数声明 void func(void);static int count 10; /* 全局变量 */int main() {while(count--){func();}return 0; } // 函数定义 void func( void ) {static int i 5; // 局部静态变量i;std::cout 变量 i 为 i ;std::cout , 变量 count 为 count std::endl; } 当上面的代码被编译和执行时它会产生下列结果 变量 i 为 6 , 变量 count 为 9 变量 i 为 7 , 变量 count 为 8 变量 i 为 8 , 变量 count 为 7 变量 i 为 9 , 变量 count 为 6 变量 i 为 10 , 变量 count 为 5 变量 i 为 11 , 变量 count 为 4 变量 i 为 12 , 变量 count 为 3 变量 i 为 13 , 变量 count 为 2 变量 i 为 14 , 变量 count 为 1 变量 i 为 15 , 变量 count 为 0 extern 存储类 extern 存储类用于提供一个全局变量的引用全局变量对所有的程序文件都是可见的。当您使用 extern 时对于无法初始化的变量会把变量名指向一个之前定义过的存储位置。 当您有多个文件且定义了一个可以在其他文件中使用的全局变量或函数时可以在其他文件中使用 extern 来得到已定义的变量或函数的引用。可以这么理解extern 是用来在另一个文件中声明一个全局变量或函数。 extern 修饰符通常用于当有两个或多个文件共享相同的全局变量或函数的时候如下所示 第一个文件main.cpp #include iostreamint count ; extern void write_extern();int main() {count 5;write_extern(); } 第二个文件support.cpp #include iostreamextern int count;void write_extern(void) {std::cout Count is count std::endl; } 在这里第二个文件中的 extern 关键字用于声明已经在第一个文件 main.cpp 中定义的 count。现在 编译这两个文件如下所示 $ g main.cpp support.cpp -o write 这会产生 write 可执行程序尝试执行 write它会产生下列结果 $ ./write Count is 5 mutable 存储类 mutable 说明符仅适用于类的对象这将在本教程的最后进行讲解。它允许对象的成员替代常量。也就是说mutable 成员可以通过 const 成员函数修改。 thread_local 存储类 使用 thread_local 说明符声明的变量仅可在它在其上创建的线程上访问。 变量在创建线程时创建并在销毁线程时销毁。 每个线程都有其自己的变量副本。 thread_local 说明符可以与 static 或 extern 合并。 可以将 thread_local 仅应用于数据声明和定义thread_local 不能用于函数声明或定义。 以下演示了可以被声明为 thread_local 的变量 thread_local int x; // 命名空间下的全局变量 class X {static thread_local std::string s; // 类的static成员变量 }; static thread_local std::string X::s; // X::s 是需要定义的void foo() {thread_local std::vectorint v; // 本地变量 }
http://www.zqtcl.cn/news/90811/

相关文章:

  • 找网站建设企业培训机构哪家最好
  • 建什么类型个人网站比较好开发高端网站建设价格
  • 网站开发 卡片网站建设合同需要印花税
  • 手机端网站图片上传如何做新公司取名字大全免费
  • vue.js网站建设智慧团建官方网站登录入口
  • 江宁区建设局网站网站建设 美食站点
  • 哈尔滨松北区建设局网站唐山企业网站模板建站
  • 服装公司网站策划书外网设计灵感网站
  • 学做婴儿衣服网站windows 建网站
  • 银饰品网站建设规划策划书wordpress近义词搜索
  • 淘宝联盟网站推广位怎么做网站开发合同支付
  • 有没有一些有试卷做的网站ios开发教程
  • 网站备案服务类型红酒公司网站源码
  • 南宁网站优化推广方案4000套微信小游戏源码
  • 什么犁网站做淘宝门头阿里云 wordpress建站
  • 免费网站建设凡科设计师的网站有哪些
  • 微信公众号运营方法seo 排名 优化
  • 深圳做营销网站设计淘宝网官方网站免费下载
  • 菏泽住房和城乡建设厅网站企业查询官网免费查询一下
  • 青海网站建设公司电话163 com邮箱注册
  • 建设法律法规文本查询网站自由设计师是什么意思
  • 分站城市网站如何做seo上海网站建设选缘魁
  • 荆门网站建设电话如何制作网页链接二维码
  • 邳州微网站开发unsplash素材网站
  • 大型网站技术架构wordpress 换域名
  • 网站建设 首选百川互动织梦网站数据下载
  • pc端网站开发技术网站建设与维护工作内容
  • 凡科怎么建设网站可以做动画的网站
  • 企业网站整合网页界面设计案例赏析
  • 精美网站郑州企业培训