首先呢学好c++非一日之际,希望能在这和大家一起学习。
命名空间
命名空间是 C++ 中用来避免命名冲突的一种机制。在命名空间中定义的标识符不会与其他命名空间中的标识符冲突。以下是一些关于命名空间的重要概念:
-
命名空间声明: 使用关键字
namespace
后跟命名空间名称来声明一个命名空间。 -
命名空间的查找顺序: 编译器在查找标识符时按照以下顺序进行查找:首先在当前局部域中查找,然后在全局域中查找,最后在展开的命名空间中查找。
-
命名空间的合并: 同名的命名空间可以合并在一起,不会导致冲突。
-
指定使用命名空间: 使用
using namespace 命名空间名
来指定使用特定的命名空间。
#include <iostream>
// 命名空间声明
namespace A {
void func() {
std::cout << "Function from namespace A" << std::endl;
}
}
namespace B {
void func() {
std::cout << "Function from namespace B" << std::endl;
}
}
int main() {
// 指定使用命名空间
using namespace A;
// 调用函数
func(); // 输出:Function from namespace A
return 0;
}
流插入和流提取
在 C++ 中,流插入运算符 <<
和流提取运算符 >>
用于输入和输出数据。这些运算符常用于与标准输入输出流 (cout
和 cin
) 结合使用。
-
流插入运算符
<<
: 用于将数据插入到输出流中。 -
流提取运算符
>>
: 用于从输入流中提取数据。
#include <iostream>
int main() {
int num;
// 流插入
std::cout << "Enter a number: ";
// 流提取
std::cin >> num;
std::cout << "You entered: " << num << std::endl;
return 0;
}
缺省参数
C++ 允许在函数声明中为参数指定默认值,这称为缺省参数。当函数调用时省略了相应位置的实参时,将使用默认值。
-
全缺省: 参数列表中所有参数都有默认值。
-
半缺省: 只有部分参数有默认值,且必须从左往右依次省略。
以下是一个简单的示例函数,演示了缺省参数的用法:
#include <iostream>
// 函数声明
void Func(int a = 1);
int main() {
// 调用函数
Func(); // 输出:1
Func(2); // 输出:2
return 0;
}
// 函数定义
void Func(int a) {
std::cout << a << std::endl;
}
当调用 Func
函数时,如果不传入参数,则 a
的值为默认值 1;如果传入参数,则 a
的值为传入的实参值。
通过本篇博客,希望读者能够更好地理解 C++ 中的命名空间、流插入、流提取和缺省参数等基础概念,为进一步学习和应用 C++ 编程打下良好基础。