C++编程基础与命名空间详解

需积分: 9 1 下载量 43 浏览量 更新于2024-07-24 收藏 45KB DOCX 举报
"C++笔记完整版,包含了C++的基础知识,包括main函数参数、标准库流的使用、命名空间等概念,适合初学者学习。" C++是一种强大的、面向对象的编程语言,对于任何想深入计算机科学的人来说,掌握C++都是非常重要的。本笔记将概述C++的一些核心概念,帮助读者快速入门。 首先,我们来看`main`函数,这是每个C++程序的入口点。`main`函数通常有两个参数:`int argc`和`char* argv[]`。`argc`表示命令行参数的数量,而`argv`是一个字符串数组,包含了这些参数。这两个参数允许程序处理命令行输入,使得程序更加灵活。 C++的标准库提供了四种流对象,用于输入输出操作:`cin`用于标准输入,`cout`用于标准输出,`cerr`用于错误输出,而`clog`则是带缓冲的错误输出。输出操作符`<<`是链式操作,例如`cout << "hello c++"`会将字符串输出并返回`cout`自身,因此可以连续调用。`endl`是一个操纵符,它除了输出换行符外,还会刷新输出缓冲区。 命名空间(`namespace`)是C++中用于组织代码的重要工具,它可以避免标识符的命名冲突。命名空间可以是全局的,也可以嵌套在其他命名空间内,但不能在类或代码块中声明。例如,我们可以创建一个名为`Outer`的命名空间,里面包含一个`Inner`子命名空间。在命名空间中声明的变量或函数默认具有外部链接,除非它们是常量。命名空间内的成员可以通过作用域解析运算符(`::`)来访问,如`Outer::f()`。值得注意的是,命名空间是开放的,可以在其定义之外添加新的成员。 在上面的示例中,`Outer`命名空间有一个整型变量`i`,以及一个`Inner`子命名空间,`Inner`包含了三个成员:一个整型变量`i`、一个函数`g`和一个函数`h`的声明。`f`函数在`Outer`命名空间内声明,而在外部定义。同样,`h`函数在`Inner`内声明,然后在外部定义。需要注意的是,不能在命名空间定义的外部定义子命名空间,也不能直接通过`命名空间名::成员名`的方式添加新成员,而应该先在命名空间内声明,然后在外面定义。 这个笔记还提到了可以在命名空间定义之后,通过多次声明和定义同一命名空间来添加新成员,这展示了C++命名空间的灵活性。例如,我们可以先定义一个名为`A`的命名空间,包含一个整型变量`i`和一个函数`f`,然后再次定义`A`,添加一个整型变量`j`和一个函数`g`。这样,`A`命名空间就包含了四个成员。 这份C++笔记涵盖了C++的基础知识,包括程序的入口、I/O操作和命名空间的使用,这些都是学习C++时不可或缺的部分。通过深入理解这些概念,读者可以更好地理解和编写C++程序。