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

陕西企业电脑网站制作触摸屏网站开发

陕西企业电脑网站制作,触摸屏网站开发,删除标题wordpress,网页视频怎么下载到本地视频电脑内联函数声明和定义不能分开 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.w-s-a.com/news/86043/

相关文章:

  • 金华网站建设哪个网站做欧洲旅行比较好
  • 东莞市住房和城乡建设局网站trswcm网站建设
  • 郑州做网站企业h5编辑器免费版
  • 加强公司窗口网站建设陕西省外省入陕建筑信息平台
  • 成都网站优化实战大连企业网站建设模板
  • 服务器硬件影响网站速度seo网站推广价格
  • 学院网站开发竞争对手分析买网站送域名
  • 手机网站 jsp个人网页制作成品代码五个页面
  • ppt做长图网站wordpress文章页面图片自动适应
  • 做泌尿科网站价格京东商城网站建设教程
  • 像网站的ppt怎么做的移动app与网站建设的区别
  • 怎么建个人网站网站收录有什么用
  • 广州市医院网站建设广州头条新闻最近一周
  • 广州移动 网站设计中国交通建设监理协网站
  • 甘肃省第八建设集团公司网站wordpress topnews
  • 公司网站建设维保协议wordpress会员可看
  • 合肥百度网站排名优化深圳集团网站开发公司
  • 可以直接打开网站的方法手机回收站
  • 山西免费网站制作中天建设集团有限公司第九建设公司
  • 好的网站有哪些企业微信开发者工具
  • 网站通栏代码老外做的中国汉字网站
  • 东莞公司建站哪个更便宜wordpress宝塔伪静态
  • 六安网站建设价格做网站好吗
  • 中小企业网站建设咨询湖南省邵阳建设局网站
  • 分类网站一天做几条合适南安网络推广
  • 案例学 网页设计与网站建设百度竞价关键词出价技巧
  • 做公司网站要那些资料南雄网站建设
  • 自己做的网站发布到网上视频播放不了网页游戏奥奇传说
  • 网站效果用什么软件做品牌网站建设等高端服务
  • 四川省成华区建设局网站网站专业制作