C++ 基础中的精华(一)😎
- 前言🙌
- 1、namespace(命名空间)的经典知识
- 1.1 namespace 日常如何正确使用?
- 1.2 cout和cin来源,以及为什么相对于C语言中的printf和scanf有自动识别数据类型的功能?
- 1.3经典面试题:用C嘎嘎语言编写输出:hellow work !
- 2、缺省参数经典知识
- 2.1 全缺省
- 2.2 半缺省
- 2.3 缺省参数的注意事项
- 3、函数重载
- 4、引用
- 总结撒花💞
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!
😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
前言🙌
哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,手把手带领大家学习C++基础课(一)~ 都是精华内容,可不要错过哟!!!😍😍😍
1、namespace(命名空间)的经典知识
1.1 namespace 日常如何正确使用?
// 标准库的东西都放到std
// 1、项目中,尽量不要using namespace std;
// 2、日常练习用using namespace std;
// 3、项目,指定名空间访问+展开常用
举个栗子:
#include<iostream>
//#include<iostream.h> 旧的编译器支持,新编译器不支持
#include<vector>
//using namespace std;
using std::cout;
using std::endl;
int main()
{
std::vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
cout << "hello bit" << endl;
cout << "hello bit" << endl;
cout << "hello bit" << endl;
cout << "hello bit" << endl;
return 0;
}
1.2 cout和cin来源,以及为什么相对于C语言中的printf和scanf有自动识别数据类型的功能?
相对于C语言中的printf和scanf有自动识别数据类型的功能:是由于运算符重载。
/ IO 流
//int main()
//{
// // 特点:自动识别类型
// int i;
// double d;
// // >> 流提取
// cin >> i >> d;
//
// // << 流插入
// cout << i << endl;
// //cout << i << '\n';
// cout << d << endl;
// printf("%.2lf\n", d);
//
// cout << "hello world" << endl;
//
// return 0;
//}
1.3经典面试题:用C嘎嘎语言编写输出:hellow work !
一般程序员写的代吗:
#include<iostream>
using namespace std;
int main()
{
cout << "hellow work !" << endl;
return 0;
}
好的程序员这样写代码:
#include<iostream>
using std::cout;
using std::endl;
int main()
{
cout << "hellow work !" << endl;
return 0;
}
2、缺省参数经典知识
2.1 全缺省
指的是对参数列表都缺省。
2.2 半缺省
对参数列表部分缺省
2.3 缺省参数的注意事项
-
函数定义和声明不能同时出现缺省参数的定义。只有在函数声明定义缺省参数才有效,函数定义时定义无效。
-
在参数列表中,只能从右往左连续缺省,不能间隔。
-
在调用函数传参时,只能从左往右连续传参,不能跳过缺省参数。
// 全缺省
void TestFunc(int a = 10, int b = 20, int c = 30)
{
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "c = " << c << endl << endl;
}
int main()
{
TestFunc();
TestFunc(1); // 从左往右给
//TestFunc(,,1); // 不支持
TestFunc(1, 2);
TestFunc(1, 2, 3);
return 0;
}
- 缺省参数可以让参数赋值更加的灵活。如果知道我一定会插入100个数据,就可以显示传参数100
提前开好空间,插入数据避免扩容。
3、函数重载
函数重载的意义就是让用的地方很方便,就像用同一个函数一样(本质上不一样)
-
函数重载是为了解决C语言中的坑。在C语言中,是不支持两个同名函数的,会引起命名冲突,C嘎嘎很好的引入了函数重载解决这个坑。
实现函数重载有三种形式:
-
参数个数不同
-
参数类型不同
-
参数顺序不同(所有参数一开始就不是完全一样的类型的情况下)
4、引用
引用,简单的来讲就是为已经存在的对象(变量)起个别名,而不是新定义一个对象(变量)。编译器不会为引用开辟空间,引用和对象共用一块空间。
- 引用定义一定要初始化(指明要给哪个对象起别名)
- 一个对象可以有多个引用(一个对象可以有多个别名)
- 引用一旦引用一个实体,就不能够引用另外一个实体。(给这个人起个别名泰哥,就不能给其他人起这个别名,不然会导致区分不清)
传值返回:
引用返回:
总结撒花💞
本篇文章旨在分享的是C++ 的相关基础但是有很经典的知识。希望大家通过阅读此文有所收获!
😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘