C++的基础知识点

一、基础规范

  • main函数类型 :C++ 中 main 函数只能是 int 类型。

  • 头文件unistd.h 是系统调用库,不属于C++标准库

  • 文件名后缀 :C++ 源文件通常使用 .cpp

  • 编译命令g++

二、命名空间(namespace)

  • 本质:命名空间不占内存,只针对编译器起作用,限制编译器对其中符号的访问。

  • 作用:空间内部的变量互不影响,避免命名冲突。

  • 局部引用ZS::a(通过域访问符 :: 访问命名空间中的单个元素)。

  • 全局引用(不推荐)using namespace ZS; 在全局作用域引入整个命名空间,容易引起命名冲突。

  • 局部引入整个命名空间using namespace ZS; 写在函数内部(推荐)。

  • 引入单个元素using ZS::a;(可写在全局或局部)。

  • 匿名命名空间 :只在当前文件中生效,相当于 static 的作用。

  • 命名空间别名namespace ZhangSan = ZS;

三、C++ 对 C 的增强

  • 结构体:C++ 中的结构体可以包含函数。

  • using 替代 typedefusing 可以代替 typedef 定义类型别名。

    cpp

    复制代码
    using INT = int;  // 等价于 typedef int INT;

四、重载

  • 函数重载(overload):函数名相同,参数列表不同(参数类型、个数、顺序不同),与返回值无关。

  • 运算符重载:把运算符当成函数处理,可以自定义运算符的行为。

五、输入输出

endl 作用

刷新输出缓冲区

换行(相当于 \n\r\n,但多一个刷新缓冲区的操作)

cin 作用:

cin 有一个输入缓冲区,默认按空格或换行分割输入。

一旦输入类型不匹配,cin 会进入错误状态,失败变量保持原值不变;并锁住后续输入(不读取),需要手动清除错误才能恢复。

cs 复制代码
    if (cin.fail()){//判断cin有没有报错,出错返回ture
        cin.clear();//清理错误
        cin.ignore();//忽略上次出错内容,只会忽略第一个
    }
相关推荐
xieliyu.1 小时前
Java算法精讲:双指针(二)
java·开发语言·算法
苏宸啊1 小时前
IPC管道
linux·c++
何以解忧,唯有..2 小时前
Python包管理工具pip:从入门到精通
开发语言·python·pip
BestOrNothing_20152 小时前
ROS2 话题通信实战:消息对象、Publisher 发布器与 Subscriber 订阅器保姆级教程
c++·ros2·subscriber·publisher·话题通信
雪的季节2 小时前
RabbitMQ详解
开发语言
ice8130331813 小时前
【Python】Matplotlib折线图绘制
开发语言·python·matplotlib
三品吉他手会点灯3 小时前
C语言学习笔记 - 44.运算符和表达式 - 运算符2 - 除法与取余运算符
c语言·开发语言·笔记·算法
kkeeper~3 小时前
0基础C语言积跬步之动态内存管理
c语言·开发语言
橘右今3 小时前
2026 Java后端高频面试宝典
java·开发语言·面试
艾iYYY3 小时前
string 类的模拟实现
android·服务器·c语言·c++·算法