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

做商品批发的网站阿里云搜索引擎入口

做商品批发的网站,阿里云搜索引擎入口,合肥建设信息网站,微网站建设应该怎么开发票数据类型: 作用:决定变量所占内存空间的字节大小,和布局方式基本数据类型: 算数类型: 整形(bool / char……扩展集 / int / long……)&& 浮点形(float/double……&#xff…

数据类型:

  1. 作用:决定变量所占内存空间的字节大小,和布局方式
  2. 基本数据类型:
    1. 算数类型:
      1. 整形(bool / char……扩展集 / int / long……)&& 浮点形(float/double……)
        1. 部分整形(除了bool && char的扩展集)会有更多的划分:
        2. 例如:int( int 有符号/ unsigned int无符号) ……
        3. 对于char(8bit):(char / signed char有符号-128---127 / unsigned char无符号0----256)
    2. 空类型void
  3. 复合类型:声明符/类型修饰符:(& / * / const…… ) + 基本数据类型
  4. 其他类型:对象(类/结构体)类型……

字面值常量:

  1. 定义:直接看就可以得到它的值,一望而知
  2. 这样的常量非常常见,如何知道它的类型?
  3. 字面值常量的数据类型:由本身决定,不用手动定义,由常量的形式和值决定
    1. 整形:可以写做二进制、十进制,八进制、十六进制
      1. 如何看整形的数据类型:
        1. 默认情况下:十进制(signed),八进制、十六进制(signed  / unsigned)
        2. 默认为算数类型int,也可以为long / long long,具体要在可以容纳当前值的情况下,取最小尺寸
        3. 其中short不能作为整形字面值的类型
    2. 浮点:默认为double类型的字面值
    3. 字符:‘ ’为char类型,
    4. 字符串:“ ”为const char* 类型->常量字符数组[],其中会在字符串末尾添加"\0"空字符
    5. 指针:   nullptr为指针类型字面值
    6. 布尔:true / false为bool类型字面值

变量:

  1. 对象:有具体类型,并且能存储数据,的内存空间

表达式:

  1. 概念:由一个或多个运算对象组成(不一定有运算符,比如:字面值42 / 常量a的值
  2. 一元/二元/三元/运算符:作用于 一/二/三 个运算对象
  3. 函数调用:fun();也算作特殊运算符
  4. 复杂表达式:含有多个运算符,计算方式:遵守:优先级,结合律,求值顺序

左值&&右值

  1. 左值:(存储在栈)
    1. 对象(持久对象)
    2.  变量,常量,数组,指针,引用,表达式……
    3. 对于常量,不能作为赋值语句的左侧
  2. 右值:(存储在寄存器)
    1. 具体数据(临时对象)
    2. 常量,表达式(变量的值),临时对象……
  3. 赋值=:要求左侧为可修改的左值(除了const),右侧为右值
  4. 表达式可以作为左值;用的是在内存的地址
  5. 也可以作为右值:使用的是内存的地址中存储的值(变量存储的id,对应的val)
  6. 注意赋值=语句中:左值可以被当作右值使用(它的值),右值(非对象)不能作为左值被赋值
  7. 作用:……

运算符与左值右值的关系:

  1. 运算对象:
    1. 要求左值:赋值的左侧,&取地址(取对象地址),*解引用,   递增递减
    2. 要求右值:……
  2. 返回值:
    1. 要求左值:赋值,*解引用(获取指针所指向地址上的对应的值),递增递减
    2. 要求右值:取地址(指向运算对象的指针)
  3. 因此,对于decltype()会根据()括号内是什么运算符,确定返回值
  4. 比如:&返回右值--type*类型,*返回左值----type&

浅拷贝 && 深拷贝

  1. 浅拷贝(默认拷贝构造):只复制对象内的基本数据类型的成员变量,而不复制对象内的指针成员变量所指向的内存空间id(指针同时指向一个地址)
  2. 深拷贝:会同时复制对象内的基本数据类型的成员变量和指针成员变量所指向的内存空间
  3. 浅拷贝的问题
    1. 内存泄漏:
      1. 同一个内存多次释放:由于浅拷贝导致多个对象共享同一块内存,当这些对象在析构时都会尝试释放这块内存,导致同一块内存被多次释放
    2. 空悬指针:
      1. 当浅拷贝的对象中的一个对象提前释放,其持有的内存会被释放,而其他对象仍持有指向该内存的指针,这些指针就变成了空悬指针
    3. 数据不一致:当其中一个对象修改这块内存中的数据时,其他对象的对应数据也会被同时修改,导致数据不一致的问题
  4. 如何避免:
    1. 使用智能指针:std::shared_ptrstd::unique_ptr
    2. 自定义拷贝构造函数
    3. 自定义赋值运算符
  5. 优缺点
    1. 浅拷贝节约内存操作和时间开销,但是会导致指针问题。
    2. 深拷贝需要更多的内存操作和时间开销,深拷贝通常是更安全、更可靠

拷贝构造 && 拷贝赋值:

  1. 实现类对象复制的两种特殊成员函数
  2. 拷贝构造,使用一个已存在的对象来初始化一个新对象时
  3. 拷贝赋值:将一个对象赋值给另一个已经存在的对象时

移动对象

  1. 移动对象:不会发生拷贝,大幅度提升性能
  2. 右值引用:
    1. &&绑定到右值的引用,绑定的为右值---将要销毁的对象
    2. 同时普通引用&为了方便区分,为左值引用(绑定的为左值---对象)
    3. 变量的值当作为表达式时可以有右值属性,但变量本身是左值,所以不能作为&&右值引用的绑定
    4. 作用:
      1. 移动语义:直接从临时对象中转移资源,而非通过拷贝
      2. 完美转发:参数的类型(左值或右值)和值类别(临时或持久)都能被正确无误地传递给目标函数
      3. 提高程序运行效率
  3. std::move():显示的将左值转换为对应的右值引用类型
http://www.ds6.com.cn/news/78502.html

相关文章:

  • 北京个人注册公司谷歌seo优化公司
  • 域名解析好了怎么做网站十大免费货源网站免费版本
  • 邢台建设企业网站网址ip地址查询工具
  • 海口网站建设兼职河南网站建设哪家公司好
  • 北京网站域名备案国家中医药管理局
  • 东莞企业网站设计英雄联盟更新公告最新
  • 汕头网站推广制作怎么做腾讯企点是干嘛的
  • 莞城网站仿做网络促销方案
  • 网站建设与运营的课程总结站长素材官网
  • 一个网站怎么推广建个网站需要多少钱?
  • 建网站的步骤是哪些外链管理
  • 做网站app需要多少钱百度关键词排名怎么查
  • 怎么自己做论坛网站吗中国十大教育培训机构有哪些
  • 郑州做企业网站哪家好浏览器老是出现站长工具
  • 物流公司网站建设谷歌搜索引擎入口google
  • 展示型网站建设流程图发广告平台有哪些
  • 智能建站价格有效的网站推广方式
  • 网站做流量在线收录
  • 网站制作新技术河北seo诊断培训
  • 旅游网站建设的现状定制网站多少钱
  • 便宜网站设计31省市新增疫情最新消息
  • 免费建立自己的网站代码百度竞价排名查询网站
  • 20最快的加载wordpress主题西安seo网站关键词
  • 工艺礼品东莞网站建设做好的网站怎么优化
  • 做女朋友网站厦门seo优
  • 电子政务建设与政府网站建设推广员是做什么的
  • 客户网站建设完成后需要什么中国十大软件外包公司
  • 简单做网站用什么软件上海培训机构排名榜
  • 上海做网站的公司是什么2022年新闻大事
  • access 数据库做网站网络推广及销售