C++ 运算符

作用域运算符 ::

运算对象:

左边操作数是一个命名空间 ,右操作数是命名空间中的标识符

应用

全局作用域

::name

类作用域

类名::name

命名空间作用域

作用域名::name

三目运算符

C语言返回变量的值C++语言是返回变量本身

C三目运算符

返回的是变量值,不能作为左值使用

C++三目运算符

直接返回变量本身,因此可以出现在程序的任何地方

可以作左值

注意

三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用(a<b?1:b)=30;

new

从堆中申请内存空间

new运算符动态分配堆内存

使用形式

指针变量=new类型(常量)

指针变量=new类型[表达式]

作用

从堆分配一块"类型"大小的存储空间,返回首地址

"常量"是初始化值,可缺省

创建数组对象时,不能为对象指定初始值

用new分配数组空间时不能指定初值。如果由于内存不足等原因而无法正常分配空间,则new会返回一个空指针NULL,用户可以根据该指针的值判断分配空间是否成功。

malloc不会调用类的构造函数,而new会调用类的构造函数

free不会调用类的析构函数,而delete会调用类的析构函数

delete

delete运算符释放已分配的内存空间

使用形式

delete 指针变量;

delete[] 指针变量;

"指针变量"必须是一个new返回的指针

相关推荐
别动我齐刘海13 分钟前
ROS2 Jazzy + C++ 实战路线——基础学习2
c++·人工智能·vscode·python·学习·机器学习·机器人
朝朝辞暮i1 小时前
C++第 2 课
c++
代码中介商1 小时前
C++ 预约系统实战(三):服务端实现——libevent 事件驱动与业务路由
c++·json·c/s
布莱克6052 小时前
C++中的内存分区详解
c++
All for pursuit.3 小时前
【链表-9】146.LRU缓存
数据结构·c++·算法·leetcode
j7~4 小时前
【C++微服务项目开发脚手架】(接口篇一)gflags + gtest + spdlog 接口学习笔记
c++·学习·gtest·项目开发·spdlog·gflags·c++项目微服务开发脚手架
星期八不上发条4 小时前
智能指针是什么?使用场景,循环引用解决办法,面试回答
开发语言·c++·stl
ao-weilai4 小时前
Linux网络编程:Socket UDP
linux·服务器·网络·c++
.YM.Z6 小时前
C++——【继承】的底层逻辑与【多态】实现机制
c++·多态·继承
汉克老师6 小时前
GESP2026年9月认证C++三级( 第一部分选择题(1~7题)精讲
c++·gesp·小学生·学c++编程