C++入门教程笔记·基本语法数据类型

                                编写不易,请勿搬运

嵌入式开发学C++有必要嘛

        首先嵌入式开发的常用工具,keil5,Vscode,Esp-idf三个编译工具中都是支持C++语言的,也就是说常见芯片种类ST、ESP、等芯片类型都能够使用C++进行开发,同时在公司工程中,对于使用C++开发的工程对于项目的后续维护,改版都是需要懂C++的,所以能看懂C++,学好C++非常有必要。

        同时在ST开发的hal库中的函数驱动底层抽象库中,都是使用C++来进行封装的,然后使用C来进行调用,因为C和C++来中语言能够接受混合使用开发。

class SPI {
public:
    SPI(GPIO_TypeDef* port, uint16_t pin) : cs_port(port), cs_pin(pin) {}
    void transmit(uint8_t* data, size_t len) {
        HAL_SPI_Transmit(&hspi, data, len, HAL_MAX_DELAY); // 调用 C 库
    }
private:
    GPIO_TypeDef* cs_port;
    uint16_t cs_pin;
};

                                                        hal库底层C++封装

C++语言介绍

        C++和C语言一样是一款高性能语言,有着和C语言一样的直接对内存进行读写操作的能力,是一款面向对象变成的语言,有着和Java一样的类,对象,多态,等编程特性。

C++基本语法

std::cout

        std::cout是英文standard character output 标准字符输出的缩写,其中std代表的是C++中的标准库(standard Library)中的命名空间(namespace)

std::endl

        std::endl标识符,在C++中的作用是换行,同时刷新C++程序的缓冲区,在C++程序中数据通常不会立即输出,而是在程序结束或者程序缓冲区满时才会输出程序的数据,而当使用std::endl标识符时,会立即刷新缓冲区从而立刻输出数据。

<<

        C++插入流运算法,该符号的作用是将符号右侧的数据插入到符号左侧的数据台进行输出,具体例子下代码

std::cout<< "Hello,world!"<

        在这段代码中<<运算法的真正的作用是,将右侧的字符串数据输出给cout流。

using namespace std;

        该代码会将standard中的所有符号导入到当前作用域,使得这些符号可以直接使用,不需要在加std::的前缀,其作用简单来说就是,在程序中如果有cout的使用,但是因为不是std::cout的标准这个时候编译器会找不到cout的定义,但是因为加入了using namespeace std;这段代码,会告诉编译器,在std的命名空间中去找到对应的

        然后再std中找到对应的通过编译

using std::cout;
using std::endl;

        这种写法的代表意思是,仅从std空间中导入cout和endl,对于std空间的其他字符仍然需要使用加上std::的前缀。

using namespace std; //整个std空间的符号不用加std前缀
using std::cout;     //仅cout这个符号前不用加std的前缀

        这两种写法的对比来说,前者是导入整个命名空间的字符,后者是导入一个字符,有点像是#define宏定义的感觉。

system("pause");//将代码运行出的控制台暂停在显示页面

 C++基本数据类型

        

基本数据类型 大小

范围

short 2 Byte -32,768 ~ 32,767
int 4 Byte -2,147,483,648 ~ 2,147,483,647
long 4 Byte -2,147,483,648 ~ 2,147,483,647 (32位系统)
long long 8 Byte   -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
float 4 Byte ±1.18×10⁻³⁸ ~ ±3.4×10³⁸
double 8 Byte ±2.23×10⁻³⁰⁸ ~ ±1.80×10³⁰⁸
char 1 Byte -128 ~ 127(有符号)
bool 1 Byte True或者Flase假

        需要注意的是,这些数据类型不是无符号类型,是包含负数类型的。

                                        欢迎指正,希望对你,有所帮助!!!

你可能感兴趣的:(C++入门教程笔记·基本语法数据类型)