我是靠谱客的博主 儒雅自行车,最近开发中收集的这篇文章主要介绍C++学习1(与C的差别),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

1.C++头文件不必是.c结尾,C语言中的标准库头文件入math.h,stdio.h在C++被命名为cmath,cstdio。

2.名字空间namespace

3.C++新的输入输出流库(iostream)将输入输出看成一个流,并用输出运算符<<和输入运算符>>对数据(变量和常量进行输入输出);

4.程序块{}内部作用域可定义域外部作用域同名的变量,在该块里就隐藏了外部变量

5.for循环语句可以定义局部变量,在此隐藏外部变量

6.访问和内部作用域变量同名的全局变量,用全局作用域限定::

7."引用类型“,即一个变量是另一个变量的别名


1.C++头文件不必是.c结尾,C语言中的标准库头文件入math.h,stdio.h在C++被命名为cmath,cstdio。

#include<cmath>
#include<cstdio>

2.名字空间namespace

为防止名字冲突,引入名字空间。通过::运算符限定某个名字属于哪个名字空间

#include <cstdio>
namespace first
{
    int a;
    void f(){}
    int g(){}
}

namespace second
{
    double a;
    double f(){}
    char g;
}

int main()
{
    first::a=2;
    second::a=6.453;
    first::a=first::g()+second::f();
    second::a=first::g()+6.453;

    printf("%dn",first::a);
}
  • using namespace X;    //引入整个X名字空间,X里面的变量都可以直接用
  • using X::name;  //使用单个名字,后面可以直接用name这个变量
  • X::name;   //使用这个变量

3.C++新的输入输出流库(iostream)将输入输出看成一个流,并用输出运算符<<和输入运算符>>对数据(变量和常量进行输入输出);

cout代表标准输出流对象,屏幕窗口。cin代表标准输入流对象,键盘。

标准库中的民族都属于标准名字空间std。

#include <iostream>
using std::cout;    //使用std名字空间内的cout
int main()
{
    double x;
    cout<<"input a count"<<std::end1;   //end1表述换行,并刷新输出流
    std::cin >>a;   //等键盘输入一个count

    cout << a;    //屏幕窗口输出a
    return 0;
}

4.程序块{}内部作用域可定义域外部作用域同名的变量,在该块里就隐藏了外部变量

#include <iostream>
int main()
{
    double a;

{    int a;    //自动隐藏掉外部的double a
}

    return 0;
}

5.for循环语句可以定义局部变量,在此隐藏外部变量

int main()
{
    int i=0;
    for(int i=0;i<4;i++)    //此处的i不是外部的i
    {}
}

6.访问和内部作用域变量同名的全局变量,用全局作用域限定::

double x=11;
int main()
{
    double x=22;

    cout<<x<<end1;    //输出内部作用域的x,22
    cout<<::x<<end1;    //输出全局作用域的x,11

    return 0;
}

7."引用类型“,即一个变量是另一个变量的别名

int main()
{
    double a=123;
    
    double &b=a;    //b是a的别名,b也是a
    b=22;    //a被修改成22
    cout<<a<<end1;    //输出22
    return 0;
}
第一种写法(指针)

void f(int *x,int *y)
{
    cout<<*x<<*y<<end1;    //3,4
    int t=*x;*x=*y;*y=t;        //交换
    cout<<*x<<*y<<end1;    //4,3
}

int main()
{
    int a=3,b=4;
    f(&a,&b);    //取a,b的地址给指针x,y。
    cout<<a<<b<<end1;    //4,3

    return 0;
}

第二种写法
void f(int &x,int &y)
{
    cout<<x<<y<<end1;
    int t=x;x=y;y=t;
    cout<<x<<y<<end1;
}

f(a,b);    //x,y将分别是a,b的引用,即x就是a,y就是b
  • 当实参占内存大时,用引用代替传值(需要复制)可提高效率
  • 如果不希望在其中无意修改实参,可用const修改符

最后

以上就是儒雅自行车为你收集整理的C++学习1(与C的差别)的全部内容,希望文章能够帮你解决C++学习1(与C的差别)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部