C++ 从入门到入土 #1

本文介绍了C++与C语言的主要区别,包括文件后缀、面向对象编程、头文件处理、命名空间、输入输出操作、新数据类型如bool和引用,以及函数思想如内联和重载。还强调了C++中const和空指针声明的重要性,并探讨了输入时的注意事项。

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

目录

目录

前言

C++和C语言的不同

・文件后缀

・C语言是面向过程编程,C++则是面向对象编程

・头文件

 ・新增命名空间

 ・输入输出

补充:输入时需要注意的

 ・新的数据类型

补充:关于C++中的const

 ・空指针的声明

 ・函数思想

参考资料:


前言

 学习C++之前 建议先学习C语言的知识。因为C++看似很多功能,都是用C语言来实现的。

熟练C语言之后对C++的学习有很大助力,并且某些硬件比如 Arduion 也是由C语言进行控制的。

作为计算机专业的学生,在大一开始也是从C语言入门的。但是学校并没有C++的课程。

想系统学习C++的我,机缘巧合之下报了顿开教育的C++全栈课程。没想到也是由C语言先开始教学,再进入C++。

C++和C语言的不同

学习C++之前,先了解一下C++与C语言的不同之处。

・文件后缀

        C语言源文件的后缀为.c,C++源文件的后缀为.cpp

・C语言是面向过程编程,C++则是面向对象编程

・头文件

        1.包含自己的头文件时不变

#include "xxx.h"

        2.包含C语言标准库时的两种方法

#include <stdio.h>  保持原来方法不变
#include <cstdio>  去掉“.h ”在最前加上“c”

        3.包含C++标准库时不需要“.h”

#include <iostream>  C++标准输入输出头文件(Input/Output Stream)

 ・新增命名空间

在C语言中同一个作用域下不允许定义相同标识符(变量名,函数名等)

而C++中引入了命名空间之后可以重复使用同一标识符,从而增加了标识符的使用率

#include <stdio.h>

基本创建空间方法
namespace NameList1{

    int varA=1;
    void print(){
        printf("variable in NameList1:%d\n",varA);
    }
}

namespace NameList2{

    int varA=1;
    void print(){
        printf("variable in NameList2:%d\n",varA);
    }

}

 通过上面的代码就可以通过不同的空间创建拥有相同名字的变量和函数了(叫空间中的成员或空间中的数据)

并且可以通过作用域分辨符“::”来使用他们

#include <stdio.h>

//基本创建空间方法
namespace NameList1 {

    int varA;
    void print() {
        printf("variable in NameList1:%d\n", varA);
    }
}

namespace NameList2 {

    int varA=2;
    void print() {
        printf("variable in NameList2:%d\n", varA);
    }

}

int main() {

    NameList1::varA = 1;
    NameList1::print();
    NameList2::print();

    return 0;
}

 输出:

variable in NameList1:1
variable in NameList2:2

如此可见,名字虽然相同,但是所在的空间不同。可以通过 作用域分辨符“::”来区分并访问它们。

而作用域分辨符“::”还有另一个作用就是可以区分全局变量。

#include <stdio.h>

int Var = 2;

int main() {

    int Var = 1;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值