
🌈 say-fall:个人主页 🚀 专栏:《手把手教你学会C++》 | 《C语言从零开始到精通》 | 《数据结构与算法》 | 《小游戏与项目》 💪 格言:做好你自己,才能吸引更多人,与他们共赢,这才是最好的成长方式。
今天起我们将开启全新专栏《手把手教你学会C++》,本专栏将从零基础循序渐进地讲解C++。无需担心晦涩的语法和抽象概念,我会从C语言基础语法逐步过渡到C++,详细拆解每一行代码。今天我们先来认识C++与C语言的第一课差异。
在团队协作开发时,不同程序员可能会定义相同的函数名或变量名。如果使用C语言,就需要一方修改代码,这很不方便。
C语言虽然具有域的概念(全局域、局部域、函数原型和枚举/结构体/联合的成员域),但无法解决多人协作时的命名冲突问题。这启发了C++创始人:何不创建独立的域,让每个人将自己的函数或变量封装其中,使用时只需调用或展开对应的域?
于是,命名空间的概念应运而生。
namespace cpp {
void say_fall() {
// 函数定义
}
}::
默认情况下会调用全局域和局部域
cpp::say_fall(); // 直接调用函数using展开特定名称using namespace cpp::say_fall;此后可直接使用say_fall(),无需cpp::前缀
using namespace cpp;std命名空间<iostream>
注:C++中C语言头文件改为c前缀并去掉.h,如<stdio.h>变为<cstdio>
cin
istream类对象,面向窄字符的标准输入流,功能类似C语言的scanf
cout
ostream类对象,面向窄字符的标准输出流,功能类似C语言的printf
endl
一个函数,输出时相当于插入换行符并刷新缓冲区
cout << " " << endl;
cin >> " " >> " ";<<和>>是二元操作符,每次只能有一个操作对象(除cin/cout外)printf或C++自带的格式化函数(后者较复杂)ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);缺省参数(Default Parameters)指在函数定义时为参数指定默认值。调用时若未提供实参,则使用默认值。
函数重载(Function Overloading)允许在同一作用域内定义多个同名函数,通过不同的参数列表(类型、数量或顺序)区分。编译器会根据调用时提供的实参类型选择对应的函数实现。