栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

QT学习C++(2)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

QT学习C++(2)

std详解

(cout和endl都属于std)

C++是强语法的,所有变量和函数必须有类型

对结构体

在c中,引用结构体必须加struct

在C++中可以忽略

 c中结构体只能定义变量不能定义成员函数,C++中可以

在c中

在C++中

 调用

 C++新增bool类型(1字节):true(1值)和false(0值),非0值会自动转化为true(1值) 三目运算符

a>b?a:b(a>b?大于选a,不大于选b)

在c的返回值不能被赋值,返回值是数值,a>b?a:b=100是错误的

 在C++中可以被赋值,返回值是变量本身

Const

在c中

 例:在fun.c创建const

 在其他文件使用需要先申明

 const修饰变量名,变量名为只读,用户不能通过变量名进行修改赋值(num=10,错误),但可通过地址修改(注:局部的const才适用)

 总结:const修饰全局变量,变量名只读,内存空间在文字常量区(只读),不能通过地址修改内容(例:num)。const修饰局部变量,内存空间在栈区,可以通过地址修改(例:data)。(为外部连接)

在C++中

在fun.c中定义const intnum=100;extern申明后不识别num

 在C++中出现在所有函数之外的const作用于当前文件(对其他文件不可见,默认为内部连接)

 extern 转化为外部连接

 

 

 C++中,对于基础类型,系统不会给data开辟空间,放入符号表中

 取地址时会分配空间。此外,当以变量形式直接初始化const修饰的变量时,系统会直接开辟空间,不产生符号表

 

 

 对于自定义数据类型(结构体,对象),会分配空间

 

总结:

  • const int data=10;\data先放入符号表
  • 对data取地址,系统会为data分配空间
  • const int a=b;\b是变量名,系统直接给a开辟空间,而不放入符号表
  • const修饰自定义数据,系统为自定义数据开辟空间
可以用Const替换#define

宏作用于是整个文件,const视定义情况而定

 

 宏不能作为命名空间的成员,const可以

 

注:本文档仅学习总结

QT学习C++(1)_爱吃糖葫芦的大熊的博客-CSDN博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/835304.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号