一、C++简介

1、起源

二十世纪八十年代初贝尔实验室。

2、应用范围

文字处理程序、编译器、操作系统、大型游戏等。

3、从C到C++

  • C是结构化和模块化的语言,面向过程,未完全实现解决软件设计危机的目标。
  • C++保留了C原有的所有优点,对C的功能进行了扩充,增加了面向对象的机制。
    :C++对C的扩充
    ①变量的定义可以出现在程序中的任何行;
    ②提供了标准输入输出流对象cin,cout;
    ③用const定义常变量;
    ④函数重载、函数模板、带默认值的函数;
    ⑤应用类型;
    ⑥单目作用域运算符;
    ⑦string类型字符串;
    ⑧使用new和delete代替malloc和free函数等。

4、C++开发工具

  • 记事本(Notepad++)+命令行、
  • Visual C++ 6.0、
  • VS(Visual Studio)2015(功能强大,体积庞大)、
  • CodeBlocks(开源免费,专业推荐)、
  • 其他(DEV C++、CLion、C-Free、Xcode、C4droid)。

5、C++代码规范

C++学习笔记(一)

二、C++基础语法

1、常用数据类型

C++学习笔记(一)
C++学习笔记(一)

2、变量

(1)变量的概念

变量就是一块内存空间
——通过变量可以简单快速的找到内存中存储的数据。

(2)变量的命名

变量名只能由字母数字下划线三种字符组成;
第一个字符必须为字母或下划线。

(3)变量的声明和使用

  • 数据类型 变量名;(声明变量)
  • 数据类型 变量名=值;(定义时初始化变量)
  • 数据类型 变量名;变量名=值;(定义后初始化变量)

3、运算符

(1)运算符的种类

  • 算数运算符
  • 转义运算符
  • 关系运算符:>、<、>=、<=、==、!=(C++中引入布尔类型,true表示真,false表示假。)
  • 位运算符:&、|、~、^(异或)、<<(左移)、>>
  • sizeof运算符:可以获得数据类型占用内存空间的大小。s加粗样式izeof(type_name);结果以字节为单位。

(2)运算优先级

  • 括号优先级最高;
  • 单目运算符优先级别高赋值运算符优先级别最低
  • 从右向左结合性的只有赋值运算符、三目运算符和单目运算符;
  • 算数运算符>关系运算符>逻辑运算符。

4、结构体

  • 条件if/switch、
  • 循环while/do-while/for、
  • break(跳出循环,执行循环之后的语句)、
  • continue(跳过本次循环,继续下次循环。

5、数组

(1)什么是数组?

——数组是一个变量一块内存空间),由数据类型相同的一组元素组成(一块连续的内存空间)。

(2)数组的结构和基本要素

标识符、数组元素、元素下标、元素类型。

(3)数组的替代品

C++学习笔记(一)

6、指针(pointer)

(1)什么是指针?

——指针是一个值为内存地址的变量(或数据对象)。
强烈建议初始化所有的指针,并尽可能在定义了对象之后再定义指向它的指针。

(2)指针的基本用法

——数据类型 * 指针变量名。
注:

  • int* p的写法偏向于地址,即p就是一个地址变量,表示十六位地址;
  • Int *p的写法偏向于值,*p是一个整形变量,能够表示一个整型值;
  • 声明中的号和使用中的号含义完全不同。

(3)特殊类型指针

  • 空指针(null pointer)——不指向任何对象,在试图使用一个指针之前可以首先检查是否为空。
  • void*指针——种特殊的指针类型,可以存放任意对象的地址。

(4)数组与指针

  • 数组名就是这块连续内存单元的首地址——num与&num[0]的值相同;
  • 数组第i+1个元素可以表示为:①地址:&num[i + 1]或num + 1;②值:num[i + 1]或*(num + i + 1)或*++num
  • 为指向数组的指针赋值:int * ptr_num = num;
  • 指针变量可以指向数组元素:int * ptr_num = &num[4]。

7、引用(reference)

(1)引用的概念

  • 引用即别名,并非对象,引用只能绑定在对象上;
  • 引用更接近const(常量)指针,一旦与某个变量关联起来,就将一直效忠于他;
  • 将引用变量用作参数时,函数将使用原始数据,而非副本;
  • 当数据所占内存较大时,建议使用引用参数。
  • 返回引用:不要返回局部变量的引用;函数可以不返回,默认返回传入的应用对象本身。

(2)指针与引用

  • 引用对指针进行了简单封装,底层仍然时指针;
  • 获取引用地址时,编译器会进行内部转换。

(3)使用引用参数的一些指导原则

C++学习笔记(一)

8、动态分配内存

  • 使用new动态分配内存;
  • 使用delete释放内存。
    例:动态分配的数组
    Int * intArray = new int[10];(new运算符返回第一个元素的地址)
    Delete [] intArray;
    C++学习笔记(一)

相关文章:

  • 2021-12-06
  • 2021-06-24
  • 2021-08-11
  • 2021-12-15
  • 2021-11-20
猜你喜欢
  • 2022-01-01
  • 2021-10-30
  • 2021-07-21
  • 2021-08-10
  • 2021-09-13
相关资源
相似解决方案