当前位置: 首页 > news >正文

把自己的网站卖给别人后对方做违法吗手机自助建站永久免费

把自己的网站卖给别人后对方做违法吗,手机自助建站永久免费,如何建立一个视频网站,电商网站模板下载指针的高阶用法(C) 指针在C中是一个强大的工具,除了基础的指向变量和动态内存分配外,还有许多高阶用法可以提高代码的效率和灵活性。 函数指针 函数指针允许将函数作为参数传递或存储在数据结构中,常用于回调机制和…

指针的高阶用法(C++)

指针在C++中是一个强大的工具,除了基础的指向变量和动态内存分配外,还有许多高阶用法可以提高代码的效率和灵活性。

函数指针

函数指针允许将函数作为参数传递或存储在数据结构中,常用于回调机制和策略模式。
定义函数指针的语法:

// 定义一个指向函数的指针,该函数接受两个int参数并返回int
int (*funcPtr)(int, int);

使用示例:

int add(int a, int b) { return a + b; }
int subtract(int a, int b) { return a - b; }funcPtr = add; // 指向add函数
cout << funcPtr(3, 5); // 输出8funcPtr = subtract; // 指向subtract函数
cout << funcPtr(5, 3); // 输出2

指针与多态

通过基类指针调用派生类函数是实现运行时多态的核心机制。
示例:

class Base {
public:virtual void print() { cout << "Base" << endl; }
};class Derived : public Base {
public:void print() override { cout << "Derived" << endl; }
};Base* ptr = new Derived();
ptr->print(); // 输出"Derived",多态调用
delete ptr;

智能指针

智能指针(如std::unique_ptrstd::shared_ptr)自动管理内存,避免内存泄漏。

std::unique_ptr示例:

#include <memory>
std::unique_ptr<int> uptr(new int(10));
cout << *uptr; // 输出10
// 无需手动删除,超出作用域自动释放

std::shared_ptr示例:

std::shared_ptr<int> sptr1 = std::make_shared<int>(20);
std::shared_ptr<int> sptr2 = sptr1; // 共享所有权
cout << *sptr2; // 输出20

指针与数组的灵活操作

指针可以像迭代器一样遍历数组,支持指针算术运算。
示例:

int arr[] = {1, 2, 3, 4, 5};
int* p = arr; // 指向数组首元素
for (int i = 0; i < 5; ++i) {cout << *(p + i) << " "; // 输出1 2 3 4 5
}

指向指针的指针(双指针)

双指针常用于动态二维数组或修改指针本身。
动态二维数组示例:

int** matrix = new int*[3];
for (int i = 0; i < 3; ++i) {matrix[i] = new int[4]{i, i+1, i+2, i+3};
}
// 释放内存
for (int i = 0; i < 3; ++i) {delete[] matrix[i];
}
delete[] matrix;

指针与STL算法的结合

指针可以与STL算法一起使用,例如排序普通数组。
示例:

#include <algorithm>
int data[] = {5, 2, 9, 1, 5};
std::sort(data, data + 5); // 排序数组
for (int n : data) cout << n << " "; // 输出1 2 5 5 9

类型安全的指针转换

使用static_castdynamic_cast等操作符进行类型转换。
dynamic_cast示例(需多态类):

Base* b = new Derived();
Derived* d = dynamic_cast<Derived*>(b); // 安全向下转换
if (d) {d->print(); // 输出"Derived"
}
delete b;

这些高阶用法可以显著提升C++程序的灵活性和性能,但需谨慎处理内存和类型安全。

http://www.dtcms.com/a/467027.html

相关文章:

  • 【PyCharm】设置注释风格,快速注释
  • 社区服务呼叫系统 网站的建设电商直播平台网站开发
  • 久其软件公司网站俄罗斯网站模版
  • 网站建设用户使用手册海南微信网站制作平台
  • 北京营销网站建站公司定制图片软件
  • 境外网站建设cpa没有网站怎么做
  • 面试题02
  • 如何办网站 论坛保险网站建设方案
  • 网站开发最新书籍有什么好的手机推荐网站
  • 校园网站建设总体设计crm客户管理系统全称
  • 天津网站开发招聘夸克搜索引擎
  • 影视网站seo描述镇江微信推广平台
  • 网站建设有什么优势成都住建厅官方网站
  • K8S(四)—— Kubectl从入门到精通:K8s资源管理与项目生命周期实战指南
  • 如何建设一个双语的网站网站建设网上学
  • 80MW/160MWh共享储能示范项目技术方案
  • 深圳微信分销网站公司做网站的网站赚钱吗
  • 基于单片机的N型热电偶PID锅炉温度控制系统
  • 做爰全过程免费的视频网站有声音杭州企业自助建站系统
  • 东莞做网站设计制作自己的网站怎么做app吗
  • 网站开发培训光山广州11区排名
  • 生鲜网站建设的项目总结wordpress 空行
  • 今日行情明日机会——20251010
  • 制作系统签名(具体在build\target\product\security\README文件有说明):
  • 网站 备案 初审品牌整合营销机构
  • 做的比较好的返利网站知乎爱做的小说网站
  • 最大字符串配对数目(哈希表实现)
  • 深度学习赋能基因与蛋白质研究:从“盲猜”到“精准导航”的生命科学革命
  • 网站建设毕业读书笔记徐州网站的优化
  • 多决策者博弈论优化模型:从理论到实践的完整解决方案 | 23类约束条件+1368个变量+混合整数规