C++基础预备知识

一.命名空间:

        1.命名空间的主要目的:是为了组织代码,避免命名冲突并提高代码的可读性和可维护性

        2.命名空间可以存放:变量,常量,函数,类和结构体等等。同时命名空间也允许嵌套命名空间这一操作

        

        2.命名空间的访问:

                1.要访问命名空间内的成员,需要使用命名空间名作为前缀,使用 :: 操作符。

      

                2.可以使用 using 声明将命名空间中的成员引入当前作用域,以便简化访问。

        

                3.可以使用 using namespace 将整个命名空间引入当前作用域。

        

二.C++的输入和输出

        1.cout是C++标准库中的标准输出流对象,用于将数据输出到控制台或其他输出设备。它通常与插入运算符 << 一起使用,用来打印各种数据类型的值。

        2.cin 是C++标准库中的标准输入流对象,用于从控制台或其他输入设备接收用户输入。它通常与提取运算符 >> 一起使用,用来从控制台读取各种数据类型的值。

        3.<<是流插入运算符(搭配cout使用),>>是流提取运算符(搭配cin使用)。可以理解为信息的流动方向。

        4.coutcin 提供了类型安全的输入输出操作,可以处理各种数据类型(整数、浮点数、字符、字符串等)。所以C++可以实现自动识别变量类型,也就是说不用写%d什么的了

        5.endl相当于'\n',换行符两者是等价的

              

三.缺省参数

        1.在C++中,缺省参数(也称默认参数)是指在函数定义中为一个或多个参数指定默认值。如果在函数调用时未提供这些参数的值,则会使用这些默认值。缺省参数可以使函数调用更加简洁,避免重复指定相同的参数值。

        2.缺省参数分类:

                1.全缺省参数:在形参中所有变量均为缺省参数。

                2.半缺省参数:在形参中不全都是缺省参数。

              

        3 .不允许给声明和定义同时给缺省参数,会造成歧义。所以只给声明缺省参数。

        4.缺省参数可以给函数

四.函数重载

        1.函数重载是指可以在同一个作用域中定义多个同名函数,但这些函数的参数列表必须不同(参数的类型、个数或者顺序)。

        2.条件:

                1.函数名必须相同。

                2.参数列表(参数类型,参数个数,参数类型的顺序)必须不同

        3.缺省参数运用在函数重载时可能会发生歧义

五.引用:&

        1.引用是一种别名,为一个已经存在的变量创建了一个新的名字。引用和指针类似,但使用起来更简洁和安全。

        2.在底层实现上,编译器通常会使用指针来实现引用。这意味着,引用在内部往往被转换成对应的指针操作

        3.引用的限制条件:1.引用必须进行初始化。2.一个变量可以对应多个引用,但是一个引用只能对应一个变量。

        4.引用与指针的区别:1.引用必须初始化,指针可以不初始化(即为野指针)。2.一个引用只能对应一个变量,一个指针可以对应不同变量

六.auto:

        1.auto 关键字用于声明变量时,可以根据初始化表达式推导出变量的类型。这种类型推导称为自动类型推导,使得变量声明更加简洁和灵活。

        2.限制条件是:编译器必须能够确定初始化表达式的类型,才能进行类型推导

                1.不能定义变量。

                2.不能作为参数,因为作为形参的话不能明确到底需要什么类型的变量。

                3.不能声明数组,因为在声明数组的时候数组需要开辟空间,不说明具体类型,难以开辟空间。

              

七.范围for

        1.范围for进行的是值拷贝

        2.若要进行深拷贝则需要使用引用

八.内联函数:inline

        1.内联函数是一种特殊的函数,它在编译器处理时会被直接插入到每个调用它的地方,而不是像普通函数那样被调用时才执行跳转。这样做的目的是为了提高程序的执行效率,减少函数调用的开销。内联函数对应宏函数,常量(const)对应宏常量。

       

        2.注意:内联函数不要声明和定义分离。因为inline被展开后就没有地址了,定义的时候就会找不到链接了

        3.使用条件:只适用于小而且使用频繁的函数,如果函数体较大或者使用不频繁,编译器可能会忽略 inline 关键字,将函数视为普通函数进行处理。

九.空指针nullptr

        nullptr是代替NULL的,因为 NULL 宏 替换的是整型的0,而不是指针。所以创建关键字nullptr代表空指针

    

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值