欢迎光临
我们一直在努力

C++核心改进:引用、重载与命名空间

好的,以下内容将介绍C++相较于C语言的核心改进(上篇),聚焦基础特性:


引用(Reference)

C++引入引用作为变量的别名,提供更直观的操作方式:

int a = 10;
int &ref = a; // ref是a的别名
ref = 20; // 等同于a = 20

对比C语言指针:

int a = 10;
int *ptr = &a;
*ptr = 20; // 需解引用操作


函数重载(Function Overloading)

允许同名函数根据参数类型或数量自动匹配:

void print(int x) { cout << "Integer: " << x; }
void print(double x) { cout << "Double: " << x; }
// 调用时自动选择:
print(5); // 匹配int版本
print(3.14); // 匹配double版本

https://weibo.com/tv/show/1034:5272237767589892
https://weibo.com/tv/show/1034:5272237700481040
https://weibo.com/tv/show/1034:5272237633372167
https://weibo.com/tv/show/1034:5272237566263315
https://weibo.com/tv/show/1034:5272237503348746
https://weibo.com/tv/show/1034:5272237436239901
https://weibo.com/tv/show/1034:5272237369131019
https://weibo.com/tv/show/1034:5272237302022151
https://weibo.com/tv/show/1034:5272237226262553
https://weibo.com/tv/show/1034:5272237163610118
 

C语言不支持此特性,需手动命名不同函数(如 print_int()、print_double())。


默认参数(Default Arguments)

函数参数可设置默认值,简化调用:

void draw(int x, int y = 0, int color = 1) {
// 绘制逻辑
}
draw(10); // 等价于 draw(10, 0, 1)
draw(20, 30); // 等价于 draw(20, 30, 1)

注意:默认参数需从右向左连续设置。


命名空间(Namespace)

避免全局标识符冲突,支持模块化封装:

namespace Math {
const double PI = 3.14159;
double square(double x) { return x * x; }
}
// 使用方式:
double area = Math::square(2) * Math::PI;


输入输出流(I/O Streams)

替代C的 printf()/scanf(),支持类型安全操作:

#include <iostream>
using namespace std;

int num;
cout << "Enter a number: "; // 输出
cin >> num; // 输入

https://weibo.com/tv/show/1034:5272237767589892
https://weibo.com/tv/show/1034:5272237700481040
https://weibo.com/tv/show/1034:5272237633372167
https://weibo.com/tv/show/1034:5272237566263315
https://weibo.com/tv/show/1034:5272237503348746
https://weibo.com/tv/show/1034:5272237436239901
https://weibo.com/tv/show/1034:5272237369131019
https://weibo.com/tv/show/1034:5272237302022151
https://weibo.com/tv/show/1034:5272237226262553
https://weibo.com/tv/show/1034:5272237163610118
 

优势:无需格式符(如 %d),自动推导数据类型。


下篇将探讨面向对象(类、继承、多态)等进阶特性。

赞(0)
未经允许不得转载:171主机测评 » C++核心改进:引用、重载与命名空间
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址