C++概述
发布日期:2022-02-07 06:39:43
浏览次数:5
分类:技术文章
本文共 2269 字,大约阅读时间需要 7 分钟。
C++概述
前言
我们学习了一个学期的C语言,相信大家都对编程有了一个相对全面的认识
现在我们要进入C++了,那么,到底C++和C有什么区别呢? 我们先来看一个输出hello,world 的小程序#includeusing namespace std;int main(){ cout << "Hello, world." << endl; return 0;}
下面将会一点一点的解释上面程序和C的不同
输入输出
cout :一个智能对象
cout << "Hello, world." << endl;
int a = 1;double f = 2.3;cout << a << " " << b << endl;cout << b << " 233333\n";//"\n"一样可以使用
上面的输出是这样子的
a 2.32.3 233333
cin: 也是一个智能对象
与cout类似
我们可以使用cin读取数据int a;double b;double d;char ccin >> b;cin >> a >> d;cin >> c;//!!
cin读取字符的时候,能读空格,能读回车,只有遇见EOF才会不读
(如上面读取C时) cin读取其余类型的时候,会自动跳过空白字符(空格回车等)
预处理,包含的文件及库
我们的stdio.h呢?
#inlcude<stdio.h>
#include <iostream>
与C类似,内置的库文件我们用<>括起 而自定义的头文件则用双引号”“括住 其他库文件的区别
C中的stdlib.h string.h ctype.h math.h库文件会有变动呢?
在C++中,上面的库文件都是能用的 不过在C++中有个更好的写法#include#include #include #include
总结而言,就是少了.h的后缀名,并在前面加C
原因嘛,据说是原本想用.hpp .hxx等做C++头文件的后缀名的 纠结来纠结去,统一不了 然后干脆就都不用后缀名了(简单粗暴的解决方法)PS:
自定义的头文件还是要用.h的扩展名的,只不过是内置的库文件有改动 再PS: c++里面有好多好多超好用的库,比C好用多了
名称空间简介
看到了我们的第二条语句:
using namespace std
翻译过来便是 使用 名称空间 std 什么是名称空间
简单来讲就是,
你的名字所在的一个集体 如果说你在七班里面,叫同学的名字:谢江钊,嗯,马上就能够找到 因为全班就一个叫谢江钊的 假设如果其他班也有有个叫谢江钊的,然后你在学校里找(不在七班里找) 惨了,两个同名的,谁是谁 这个时候,你就会加上一个限定范围的名字:计科7班 所以说,如果不在7班这一个名称空间里找这一个名字,你就必须加上限定范围的词汇 偏题了 之前我们所说到的,cin, cout ,都在std这一个名称空间里面 我们用using namespace std
告诉编译器,我们使用了std名称空间里面的所有名字 之后我们便可以直接调用 如果没有那条语句把所有std名称空间里的名字导入怎么办
在大山中学里找谢江钊,同名的怎么区分?
我们给我们寻找的对象加上一个限定名:计科7班::谢江钊
这下能够找到吧 同样,如果我们没有使用std名称空间 也可以使用 std::cin
这里的 : : 名字叫做作用域解析运算符 然后我们的程序就变成了这样子 #include//少了一条使用名称空间的语句 int main(){ std::cout << "Hello, world." << std::endl; return 0;}
那如果我只想要std名称空间里面的一个名字呢?
用using std::cout;
PS
1. 文件iostream里包含了std名称空间,所以我们可以使用std 2. endl也是在std名称空间里的 3. cstdlib,cstring, cmath 里面的函数名字也是在std名称空间里面
引用
一个几乎能够替代指针的东东
长话短说,直接上swap函数对比(作用,交换两个数的数值)void swap(int *a, int *b)//使用指针{ int temp = *a; *a = *b; *b = temp; return ;}void swap(int &a, int &b)//使用引用{ int temp = a; a = b; b = temp; return ;}
上面两个函数都能够达到相同的目的:交换两个数的数值。
至于为什么这样子呢?自己看看书吧,以后再详细写。转载地址:https://blog.csdn.net/wyfwyf12321/article/details/54573092 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月12日 21时33分33秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
对偶问题和原问题的关系
2019-04-26
线性分类器的三种最优准则
2019-04-26
常用激活函数总结
2019-04-26
支持向量机(SVM)
2019-04-26
常用来划分测试集和训练集的划分方法
2019-04-26
Python 中__new__()和__init__()的区别
2019-04-26
平面点坐标旋转公式
2019-04-26
二叉树的问题汇总
2019-04-26
排序算法的时间复杂度汇总
2019-04-26
最小的k个数或者最大的k个数
2019-04-26
xgboost
2019-04-26
python的取余操作
2019-04-26
八皇后问题的解题思路
2019-04-26
动态规划问题
2019-04-26
python中全局变量与局部变量
2019-04-26
内存中堆和栈的区别,以及C语言中的内存模型
2019-04-26
两个单链表的求和,将矩阵元素全部对换
2019-04-26
KMP字符串匹配算法
2019-04-26
图算法:一种比线性表和树更复杂的数据结构
2019-04-26
网络安全工程师的初学路径
2019-04-26