C++基础篇一:

一、与C的区别

        C语言:    面向过程编程语言.
        C++语言:  面向对象编程语言,以及支持泛型编程.

第一个C++程序:

1.文件命名:以.cpp结尾

2.头文件:

        C++自带的头文件不再以.h结尾.
        如果需要添加C当中的头文件,C++通常会使用 #include <cmath>, 当然也可以 <math.h>
        添加自己的头文件,则一样使用 #include "my.h"

二、名字空间(命名空间)

  • 关键字:using 、namespace

  • 作用:为了解决代码联合调试时,函数名或变量名冲突的问题.

  • 用法:

    namespace mySpace     //制定自己的mySpace作用域  (定义名字空间).
    {
    	//函数
       //对象等...
       int num = 0;
    }
    
    using namespace <val>;   表示使用val这个名字空间.

  • 作用域访问运算符: ::

           访问名字空间中的内容:  mySpace::num

    如果想直接使用名字空间的内容:

           采用using namespace mySpace;

           不需要加 :: 可直接使用名字空间中的内容。

 例如:

#include <iostream>
using namespace std;

namespace user1
{
    int num = 34;
    void fun(int a);
}

namespace user2
{
    int num = 0;
}

using namespace user2;
int main(int argc, char *argv[])
{
    std::cout << "hello wrold" << std::endl;
    cout << user1::num << endl;
    cout << num << endl;
    int n = 12;
    cout << "n=" << n << endl;

    return 0;
}

 注:以上虽然有两个 int num; 但是他们的名字空间不一样

      三、输出对象:cout

        在C中使用printf(),但在C++中使用 cout。

意义:该对象类似于stdout,往对象里面放置内容,就表示将内容输出到终端。

符号:<< 表示将数放置到 cout 对象

endl意义:跟 '\n' 一样换行

用法:cout 输出不需要加格式控制串(%d、%c...)、类型自动推导

例如:

        int n = 12;

        cout << n << endl;

四、输入对象:cin

意义:该对象类似于stdin,存放终端输入的内容

符号:cin >>  表示从cin 对象中获取到内容,然后存放在变量当中

用法:cin 输入也不需要加格式控制串(%d ,%c...)也不需要传递地址,类型自动推导

例如:

        int n = 0;

        cin >> n;

        char buf[ 30]  = {0} ;

        cin >> buf;     

     支持连续输入:

        cin >> n >> buf ;

        而且能够检测输入类型是否正确:
        int num = 0;
        cin >> num;   //类型正确则返回True  错误返回False

五、内存区域

  • 代码区:用于存放代码执行指令(二进制)

  • 全局区:静态数据以及全局数据,部分常量(字符串常量、const修饰的全局数据)

  • 栈区:存放局部数据、函数参数等..

  • 堆区:需要由程序员手动开辟以及手动释放.

  • 代码编译后:
    {
       代码运行前:
       {
          代码区: 存放代码执行指令(二进制),是一个只读区域. 且部分可共享.
          全局区: 静态数据以及全局数据,部分常量(字符串常量、const修饰的全局数据).
       }
       代码运行时:
       {
          栈区: 存放局部数据、函数参数等..  空间由系统开辟、释放.
          堆区: 需要由程序员手动开辟以及手动释放.
       }
    }

六、C++常量

  • 通过define来定义常量.(标识常量)

#define NUM 12

  • 通过const来定义常量.

const int num = 1;  //num成为一个常量,任何方式都不能修改其值.
//int *p = &num;   //编译报错

七、new与delete

new关键字:表示在堆区开辟空间,类似于C中malloc函数. 开辟成功后返回空间首地址

用法:
int *p = new int;  //表示开辟一个整型空间.
初始化: int *q = new int(34);   //()中表示初始化值.

数组空间开辟:
int *p_arr = new int[5];   //5个整型元素的数组.
for(int i = 0; i < 5; i++)
{
   p_arr[i] = i+1;
}
初始化: int *p_arr = new int[5]{1,5,7,8,9};

练习: new 一个二维数组  new 指针数组.

  • delete关键字:表示释放堆区空间.

用法:
delete <地址>;   int *p = new int; 
例如: delete p;   //只能释放一个对象空间.

释放连续空间:
delete[] <连续空间首地址>;
例如: delete[] p;

八、引用

  • 就是对变量进行取别名的操作

  • 作用:

    1. 简化指针带来的繁琐操作.

    2. 在函数传参中,使用引用技术,可以在函数内部直接修改实参的值(避免了地址传递).

  • 基本用法:

  • <数据类型> &引用名 = 变量名;
    例如:
    int a = 56;
    int &r_a = a;

  • 函数中使用引用技术:

  • void swap(int &n1, int &n2)
    {
    	int temp = 0;
       temp = n1;
       n1 = n2;
       n2 = temp;
    }
    int main()
    {
       int a = 23;
       int b = 78;
       swap(a, b);
    }

以上就是今天分享的C++内容了有喜欢的可以看一下,明天再分享。

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值