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

哈尔滨网站建站模板ps 如何做网站

哈尔滨网站建站模板,ps 如何做网站,遂昌赶街网站,呼市网站优化内联函数声明和定义不能分开 inline不建议声明和定义分离#xff0c;分离会导致链接错误。因为inline被展开#xff0c;就没有函数地址 了#xff0c;链接就会找不到。 auto关键字 随着程序越来越复杂#xff0c;程序中用到的类型也越来越复杂#xff0c;经常体现在分离会导致链接错误。因为inline被展开就没有函数地址 了链接就会找不到。 auto关键字 随着程序越来越复杂程序中用到的类型也越来越复杂经常体现在 类型难于拼写含义不明确导致容易出错 我们可以想到可以通过typedef给类型取别名使用typedef给类型取别名确实可以简化代码但是typedef有会遇到新的难题 #include iostreamusing namespace std; typedef char* pstring;int main(){const pstring p1; // 编译成功还是失败const pstring* p2; // 编译成功还是失败return 0;}在编程时常常需要把表达式的值赋值给变量这就要求在声明变量的时候清楚地知道表达式的 类型。然而有时候要做到这点并非那么容易因此C11给auto赋予了新的含义。 #include iostreamusing namespace std; typedef char* pstring;int main(){const pstring p1nullptr; // 编译成功还是失败const pstring* p2; // 编译成功还是失败return 0;}auto可以自动推断出变量的类型 #include iostreamusing namespace std; int main() {int a 5;auto b a;auto c a;cout typeid(b).name() endl;cout typeid(c).name() endl;}在c中使用这个typeid(变量名).name()会知道变量类型 【注意】 使用auto定义变量时必须对其进行初始化在编译阶段编译器需要根据初始化表达式来推导auto 的实际类型。因此auto并非是一种“类型”的声明而是一个类型声明时的“占位符”编译器在编 译期会将auto替换为变量实际的类型。 #include iostreamusing namespace std; int main() {int a 5;auto c a;auto* d a;cout typeid(c).name() endl;cout typeid(d).name() endl;}auto后面加一个*是说明d变量是个指针类型. 在同一行定义多个变量 当在同一行声明多个变量时这些变量必须是相同的类型否则编译器将会报错因为编译 器实际只对第一个类型进行推导然后用推导出来的类型定义其他变量。 void main() {auto a 1, b 2; auto c 3, d 4.0; // 该行代码会编译失败因为c和d的初始化表达式类型不同 }基于范围的for循环 #include iostreamusing namespace std; int main() {int arr[] { 5,4,9,6,3,1,8,7,5 };for (int i 0; i sizeof(arr) / sizeof(arr[0]); i){cout arr[i] endl;}}如果使用语法糖的话 #include iostreamusing namespace std; int main() {int arr[] { 5,4,9,6,3,1,8,7,5 };for (auto a : arr){cout a ;}} 这样会方便很多.目前只适用于数组 指针空值nullptr #include iostreamusing namespace std; void f(int) {cout f(int) endl; } void f(int*) {cout f(int*) endl; } int main() {f(0);f(NULL);return 0; }NULL实际是一个宏在传统的C头文件(stddef.h)中可以看到如下代码 #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NULL ((void *)0) #endif #endif可以看到NULL可能被定义为字面常量0或者被定义为无类型指针(void*)的常量。 对于上面两个重载函数都会被认为调用的是第一个函数 #include iostreamusing namespace std; void f(int) {cout f(int) endl; } void f(int*) {cout f(int*) endl; } int main() {f(0);f(nullptr);return 0; }程序本意是想通过f(NULL)调用指针版本的f(int*)函数但是由于NULL被定义成0因此与程序的 初衷相悖。 注意 在使用nullptr表示指针空值时不需要包含头文件因为nullptr是C11作为新关键字引入 的。在C11中sizeof(nullptr) 与 sizeof((void*)0)所占的字节数相同。为了提高代码的健壮性在后续表示指针空值时建议最好使用nullptr。
http://www.laogonggong.com/news/138960.html

相关文章:

  • 北京造价员变更在哪个网站做公司软文怎么写
  • 高端网站建设服务丰富网站内容
  • 专门做孩子早教的网站杭州网站现场备案
  • 全能网站建设完全自学wordpress模板小说
  • 单位门户网站可以做百度百科手机号网站源码
  • wordpress中文站ui做的好的公司网站
  • 济南自助建站系统江都区城乡建设局门户网站
  • 如何做网站搭建api接口门户网站 用什么语言
  • 张家口远大建设集团网站查询网站旗下域名
  • 网站建设设计细节在哪个网站做民营企业申报
  • 傻瓜式网站建网站开发国外客户
  • 企业营销型网站策划书个人怎样建立网站
  • 电商型网站怎么自己制作一个网站
  • 广西和住房城乡建设厅网站首页wordpress 免插件 cdn
  • 设计师网站导航汕头微网站
  • 网站建设工作会议电子贺卡免费制作
  • 官方网站查询电工证想做网站的公司好
  • 用易语言做抢购网站软件下载网站建设优化解析
  • 官方在家做兼职的网站关于电子商务网站建设与管理的论文
  • 个人网站模块做网站niche
  • 织梦做网站需要钱吗wordpress付费阅读chajian
  • xss网站怎么搭建建设公司网站的意义
  • php做网站用html做吗wordpress购物主题多大
  • 电脑商业网站怎的做公司网址正确格式
  • 做的好英文网站百度h5制作软件下载
  • flash网站策划书如何推广营销一个项目
  • 有视频做的很好的网站吗腾讯广告卖东西怎么建设网站
  • 做的好的有哪些网站网站销售需要注册公司吗
  • php怎么网站开发8818网站建设
  • 做电子签章登录那个网站如何设立官方网站