C++的一些基础概念

本文详细介绍了C++中的命名空间概念及其使用方法,并对比了几种声明命名空间的方式。此外,还深入探讨了C++中的引用机制,包括引用的定义、特性及应用,如作为函数参数和返回值的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

命名空间

cpp中有预编译指令:

#include <iostream>

其中iostream提供一个命名空间的东西,标准命名空间是std
C++中输入输出不能直接写出以下形式:

cin >> a;
cout << "a = " << endl;

别忘了要事先声明命名空间中的变量!
* 方式一:

std::cin >> a;
std::cout << "a = " << std::endl;
  • 方式二:(在函数前面以全局变量的形式声明命名空间中的变量)
using std::cout;
using std::endl;
using std::cin;
  • 方式三:(以上方式一和二太烦)
using namespace std;//一般在预编译指令后就可以写

命名空间的定义

在主函数前面自己定义一个命名空间也可以哟~
如:
(但要注意在主函数中使用自己命名空间中定义的变量时得声明好)

#define _CRT_SECURE_NO_WARINGS
#include "stdafx.h"

using namespace std;


namespace spaceA {
    int g_a = 10;

}
int main()
{
    cout << spaceA::g_a << endl;
    return 0;
}

C++中新增bool关键字

bool flag = true;
flag = false;

const

const int a;和 int const a;的区别

void test5()
{
    const int a = 10;//a是一个常量,a与C++符号表中的10对应起来
    int *p = (int *)&a;//如果对一个常量取地址,编译器会临时开辟一个空间temp,让这个指针存放这个临时空间的地址   
    *p = 20;
    cout << "a = " << a << endl;
    cout << "*p = " << *p << endl;

}
int main()
{
    test5();
    //cout << spaceA::g_a << endl;
    return 0;
}

C++的枚举

enum season
{
    spr = 0,
    sum,
    aut,
    win
};

enum season s = spr;  //赋值的时候只能赋值给枚举  

C++对C的拓展

引用

“int &”表示使用引用数据类型,如:

int a =10;
int &re = a;  //re就是a的别名【引用一经声明不可改变】
int & re2; //err,因为引用一定要初始化
int &re3 = re; //可对引用再次引用,此时re3实际上也代指a
re = 50;
cout << "a = " << endl;  //结果a = 50;

引用是可以作为左值使用的。

引用的应用——用来传参

  • 注意:有了引用以后以下两种方法就可以等价了:
    1.使用指针来传参:
void change_value(int *p)
{
    *p = 30;
}

using namespace std;
int main()
{
    int a = 100;
    change_value(&a);
    cout << "a = " << a << endl;  //输出的 a = 30
   return 0;
}

2.使用引用来传参

void change_value2(int & r)
{
    r = 30;
}

using namespace std;
int main()
{
    int a =30;
    change_value2(a);
     cout << "a = " << a << endl;
     return 0;
}

当然交换数据函数实现起来指针和引用也可以达到一样的传参效果:

void exchange1(int *a,int *b)
{
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}

//等价于下面这个函数
void exchange2(int &a,int &b)
{
    int temp;
    temp = a;
    a = b;
    b = temp;
}
  • 引用的本质:
    引用可能是一个常指针,其本质与“int *const p = &a;”一致

引用的应用——引用作为函数的返回值

int &getA()
{
    int a = 10;
    return a;
}

using namespace std;
int main()
{
    int r_a = 0;
    r_a = getA();
    cout << "r_a = " << r_a <<endl;  //ok
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值