C++01 黑马笔记

本文指出,在32位操作系统环境下,所有指针类型的存储占用空间固定为4个字节。

总结:所有指针类型在32位操作系统下是4个字节

### C++ 黑马程序员 学习笔记概述 以下是基于所提供的引用内容以及扩展的知识体系,整理的一份关于C++学习的核心知识点总结: #### 一、循环结构与控制流 通过`do-while`循环实现重复操作是一个常见的需求。以下代码展示了如何使用`do-while`来打印从0到9的整数[^1]: ```cpp #include <iostream> using namespace std; int main() { int num = 0; do { cout << num << endl; num++; } while (num < 10); system("pause"); return 0; } ``` #### 二、函数默认参数的应用 函数支持设置默认参数值,在调用时可以选择性传递实际参数。这种机制提高了代码灵活性并减少了冗余编码[^2]。下面的例子演示了一个简单的加法函数及其多种调用方式: ```cpp #include <iostream> using namespace std; int Add(int a = 0, int b = 0) { return a + b; } int main() { int a = 10; int b = 20; int c = Add(a, b); // 使用两个实参 int e = Add(a); // 只提供第一个实参 int f = Add(b); // 同样只给定一个参数 int g = Add(); // 完全依赖默认值 cout << "c=" << c << endl; cout << "e=" << e << endl; cout << "f=" << f << endl; cout << "g=" << g << endl; return 0; } ``` #### 三、泛型编程——模板技术 为了增强程序通用性和可维护性,C++引入了模板概念。其中最常用的是函数模板,它允许开发者编写适用于不同类型的算法逻辑而无需针对每种类型单独定义版本[^3]。 ##### 示例:交换任意两变量值的方法 ```cpp template<typename T> void mySwap(T &a, T&b) { T temp = a; a = b; b = temp; } // 主函数测试部分省略... mySwap<int>(x,y); // 显式指定类型为int mySwap(x,y); // 让编译器自行推导类型 ``` #### 四、动态内存管理 在某些场景下需要手动申请和释放堆上的资源以满足复杂数据结构的需求。这通常借助于`new`运算符完成,并且记得适时销毁对象以免造成泄漏问题[^4]。 ##### 动态分配单个元素实例 ```cpp int* func(){ int *p=new int(10); return p; } ``` #### 五、多维数组处理技巧 对于二维或多维数组的操作而言,掌握其存储布局规律非常重要。例如计算行列尺寸或者访问特定位置都需要理解底层连续排列特性[^5]。 --- ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值