【C++ 】入门基础知识

一、C++关键字概述

C++中总共有63个关键字,这些关键字在C++语言的语法中扮演着重要的角色。它们用于定义各种变量和函数类型,控制程序的流程,以及实现面向对象的特性。一些常见的C++关键字包括int、float、if、for等。
在这里插入图片描述

需要注意的是,虽然C++是C语言(红色圈圈内为C语言的关键字)的扩展,但并非所有的C++关键字都来自于C语言。例如,false和true是C++中的布尔类型关键字,但在C语言中并不存在。

二、C++命名空间的作用与定义

命名空间是C++中的一种机制,用于避免命名冲突和名称污染。当多个库或模块中存在相同的名称时,使用命名空间可以区分开它们。命名空间通过将一组相关的声明和定义包装在一个独立的作用域中来实现。这样,不同的命名空间中可以有相同的名称,但它们不会冲突。

定义命名空间的示例:

namespace MyNamespace {  
    int value = 10;  
    void printValue() {  
        std::cout << "Value in MyNamespace: " << value << std::endl;  
    }  
}

使用命名空间的三种方法:

  1. 使用作用域限定符访问命名空间中的成员:通过命名空间名称和作用域限定符::来访问命名空间中的成员。
#include <iostream>  
using namespace std;  
  
int main() {  
    MyNamespace::printValue(); // 使用作用域限定符访问printValue函数  
    cout << "Value from MyNamespace: " << MyNamespace::value << endl; // 访问value变量  
    return 0;  
}
  1. 使用using namespace引入整个命名空间:这种方式可以方便地使用命名空间中的所有成员,但也可能导致命名污染,特别是在多个命名空间中存在同名成员时。
#include <iostream>  
using namespace std;  
using namespace MyNamespace; // 引入整个MyNamespace命名空间  
  
int main() {  
    printValue(); // 直接调用printValue函数,无需前缀  
    cout << "Value from MyNamespace: " << value << endl; // 直接访问value变量  
    return 0;  
}
  1. 使用using声明引入命名空间中的特定成员:这种方法更为灵活,只引入需要的成员,避免了命名污染的问题。
#include <iostream>  
using namespace std;  
using MyNamespace::printValue; // 引入MyNamespace中的printValue函数  
  
int main() {  
    printValue(); // 直接调用printValue函数,无需前缀  
    // 注意:此时不能直接访问MyNamespace::value,因为它没有被引入  
    return 0;  
}

三、C++的输入与输出

C++提供了cincout来进行输入输出,它们比C语言中的scanfprintf更加方便,因为不需要指定数据的格式。

使用cincout的示例:

#include <iostream>  
using namespace std;  
  
int main() {  
    int num;  
    cout << "Enter a number: ";  
    cin >> num; // 读取用户输入  
    cout << "You entered: " << num << endl; // 输出用户输入的值  
  
    string str;  
    cout << "Enter a string: ";  
    getline(cin, str); // 使用getline读取包含空格的字符串  
    cout << "You entered: " << str << endl;  
  
    return 0;  
}

在上面的示例中,首先使用cout输出提示信息,然后使用cin读取用户的输入。

四、C++的缺省参数
缺省参数允许我们在函数声明或定义时为参数指定一个默认值。如果调用函数时没有提供某个参数的值,那么将使用其缺省值。

全缺省参数
全缺省参数是指函数的所有形参都设置了缺省值。调用时,可以省略任意数量的参数。

void printMessage(string name = "World", int times = 1) 
{
	for (int i = 0; i < times; i++) {
	cout << "Hello, " << name << "!" << endl;
	}
}

调用示例:

printMessage(); // 输出: Hello, World!
printMessage("C++"); // 输出: Hello, C++!
printMessage("C++", 3); // 输出: Hello, C++! (三次)
  1. 半缺省参数

半缺省参数是指只有部分形参设置了缺省值。调用时,必须提供没有缺省值的参数,但可以省略有缺省值的参数。

void printMessage(string name, int times = 1) {
// ... 函数实现 ...
}

调用示例:

printMessage("World"); // 输出: Hello, World!
printMessage("C++", 3); // 输出: Hello, C++! (三次)

注意事项:

  • 半缺省参数必须从右向左依次给出,不能间隔设置。
  • 缺省参数不能在函数声明和定义中同时出现。
  • 缺省值必须是常量全局变量
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuhyOvO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值