c++入门

#c++入门

1. c++关键字

1552096141096

2.命名空间

//求两数之和
#include<iostream>      //预处理命令
using namespace std;    //使用名字空间std
int main()              //主函数首部
{                       //函数体开始
    int a,b,sum;        //定义变量
    cin>>a>>b;          //输入语句
    sum=a+b;            //赋值语句
    cout<<"a+b="<<sum<<endl;    //输出语句
    return 0;                   //如果程序正常结束,向操作系统返回一个0值
}

using namespace std 的意思是使用命名空间std,c++标准库中的类和函数是在命名空间std中声明的,上面程序中出现这一句表示要用到 命名空间std中的内容;

3.命名空间的定义

namespace N             //N为命名空间的名称
{
    int a=10;           
    int b=20;
    int Add(int left,int right)    //命名空间既可以定义变量 ,也可以定义函数;
    {
        return left+right;
    }
    namespace N1        //命名空间可以嵌套
    {
        int c=30;
        int d=40;
    }    
}
//命名空间使用方式一:
int main()
{
    printf("%d",N::a);     //命名空间名称加作用域限定符
    return 0;
}
//方式二:
using N::b
int main()
{
    printf("%d",b);
    return 0;
}
//方式三:
using namespace N
int main()
{
    printf("%d",b);
}

4.缺省参数

4.1 缺省参数的概念:

​ 缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默 认值,否则使用指定的实参。

void test(int a=1)
{
    cout<<"a="<<a<<endl;
}

int main()
{
    test();       //没有传参时,使用参数的默认值;
    test(20);     //传参数时,使用实参值;
}

4.2 缺省参数可以分为:全缺省和半缺省两类,缺省值必须时常量或全局变量;

//全缺省
void test1(int a=1,int b=2;int c=3)
{
    cout<<a<<endl;
    cout<<b<<endl;
    cout<<c<<endl;
}

//半缺省
void test1(int a,int b=2;int c=3)
{
    cout<<a<<endl;
    cout<<b<<endl;
    cout<<c<<endl;
}

5.函数重载

函数重载: 是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形 参列表**(参数个数 或 类型 或 顺序)**必须不同,常用来处理实现功能类似数据类型不同的问题

6.引用和指针的比较

引用和指针的不同点:

  1. 引用在定义时必须初始化,指针没有要求

  2. 引用在初始化时引用一个实体后,就不能再引用其他实体,而指针可以在任何时候指向任何一个同类型实

  3. 没有NULL引用,但有NULL指针

  4. 在sizeof中含义不同:引用结果为引用类型的大小,但指针始终是地址空间所占字节个数(32位平台下占4 个字节)

  5. 引用自加即引用的实体增加1,指针自加即指针向后偏移一个类型的大小

  6. 有多级指针,但是没有多级引用

  7. 访问实体方式不同,指针需要显式解引用,引用编译器自己处理

  8. 引用比指针使用起来相对更安全

7.宏的优缺点

优点

1.增强代码的复用性;

2.提高性能;

缺点

1.不方便调试宏;

2.导致代码可读性差、可维护性差、容易误用;

3.没有类型安全的检查;

c++有哪些技术替代了宏

1、常量定义换用const;

2、函数定义换用内联函数;

c++中定义指针空值

int* p=nullptr;
  1. 在使用nullptr表示指针空值时,不需要包含头文件,因为nullptr是C++11作为新关键字引入的。
  2. 在C++11中,sizeof(nullptr) 与 sizeof((void*)0)所占的字节数相同。
  3. 为了提高代码的健壮性,在后续表示指针空值时建议好使用nullptr。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值