美文网首页
3 C++ 知识点汇总 系列1-1

3 C++ 知识点汇总 系列1-1

作者: 游戏开发程序员 | 来源:发表于2023-04-15 11:42 被阅读0次

预备知识

C++ C PLUS PLUS

C++之父:Bjarne Stroustrup (贝尔实验室)

标准版本:
C++98 C++03 C++11 C++14 C++17 C++20(最新标准)

Microsoft C++ 语言和标准库一致性表 --推荐使用最高版本VS2119:
https://docs.microsoft.com/zh-cn/cpp/overview/visual-cpp-language-conformance?view=msvc-160

可移植性:
https://www.cnblogs.com/decode1234/p/9275556.html

C++主流编辑器:(编译器流程:源代码 预处理器 编译器 汇编程序 目标代码 连接器 可执行程序)
GCC家族:Cygwin Mingw32 GNU C++
MS家族: VisualC++ 更新速度比较快,支持最新特性,需要VCRuntime,接近完美。
Xcode编译: Apple LLVM(Clang + Low Level Virtual Machine) compiler 4.2 / LLVM GCC 4.2(GNU Compiler Compiler)。

初级第一课

注释

单行注释 //
多行注释 /* */

预处理器:

井号(#)开头的预处理器指令(#include、#define)
1 # 转换token为引起来的字符串
2 ## 运算符用于连接两个token

预定义宏:

LINE 这会在程序编译时包含当前行号。
FILE 这会在程序编译时包含当前文件名。
DATE 这会包含一个形式为 month/day/year 的字符串,它表示把源文件转换为目标代码的日期。
TIME 这会包含一个形式为 hour:minute:second 的字符串,它表示程序被编译的时间。

iosteam文件: 标准输入/输出流对象

对象有:cin cout cerr clog / wcin wcout wcerr wclog
包含<iostream> :自动包含<ios>、<streambuf>、<istream>、<ostream>和<iosfwd>。


image.png image.png

c++ 命名空间

  1. 命名空间的定义使用关键字 namespace
  2. 调用带有命名空间的函数或变量,需要在前面加上命名空间的名称
  3. name::code; // code 可以是变量或函数
  4. 您可以使用 using namespace 指令,这样在使用命名空间时就可以不用在前面加上命名空间的名称。
  5. 因此命名空间可由几个单独定义的部分组成的。一个命名空间的各个组成部分可以分散在多个文件中。
  6. 命名空间可以嵌套,您可以在一个命名空间中定义另一个命名空间。
namespace namespace_name1 
{
   // 代码声明
   namespace namespace_name2 
  {
      // 代码声明
   }
}

// 访问 namespace_name2 中的成员
using namespace namespace_name1::namespace_name2;
 
// 访问 namespace:name1 中的成员
using namespace namespace_name1;

CIN COUT

image.png
  1. cin是C++编程语言中的标准输入流对象,即istream类的对象。
  2. cin读取数据是从缓冲区中获取数据,缓冲区为空时,cin的成员函数会阻塞等待数据的到来,一旦缓冲区中有数据,就触发cin的成员函数去读取数据。
  3. 使用前提:#include<iostream> using namespace std;
  4. 用cout输出时,用户不必通知计算机按何种类型输出,系统会自动判别输出数据的类型,使输出的数据按相应的类型输出。

局部变量和全局变量

  1. 局部变量:在函数或一个代码块内部声明的变量,称为局部变量。它们只能被函数内部或者代码块内部的语句使用。
  2. 全局变量:在所有函数外部定义的变量(通常是在程序的头部),称为全局变量。全局变量的值在程序的整个生命周期内都是有效的。
  3. 在程序中,局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。
  4. :: 是作用域符,是运算符中等级最高的。 ::name为全局作用域中变量,解决函数被覆盖的问题。也用在类作用域和命名空间作用域。

Const限定符

  1. const 是 constant 的缩写,本意是不变的,不易改变的意思。
  2. 用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。
  3. 可通过 const 前面加上 volatile 关键字。来达到不被编译器优化,改变const变量。
  4. const 修饰指针指向的内容,则内容为不可变量。 const int p = 8; // 8不可改变。
    5.const 修饰指针,则指针为不可变量。int
    const p = &a; // p指向的地址不可被修改,内容可修改。
  5. const 修饰指针和指针指向的内容,则指针和指针指向的内容都为不可变量。const int * const p = &a; // 都不可被修改
    7.自定义类型的参数传递,我们采取 const 外加引用传递的方法。避免复制构造消耗性能。// const Test&
    8.const修饰成员函数,本质修饰的是this指针:void fun (const class *this, int a,int b);

相关文章

网友评论

      本文标题:3 C++ 知识点汇总 系列1-1

      本文链接:https://www.haomeiwen.com/subject/qgoulltx.html