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

提供邯郸做wap网站电商运营怎么做数据分析

提供邯郸做wap网站,电商运营怎么做数据分析,芜湖网站网站建设,深圳做网站电话C 中指针的高级应用非常丰富,掌握这些内容能让你写出更高性能、更底层控制力强的代码。下面是应用模块梳理和例子讲解。 目录预览 函数指针与回调机制指针数组 vs 数组指针指针与类成员函数(成员函数指针)智能指针(unique_ptr, s…

C++ 中指针的高级应用非常丰富,掌握这些内容能让你写出更高性能、更底层控制力强的代码。下面是应用模块梳理和例子讲解。


目录预览

  1. 函数指针与回调机制
  2. 指针数组 vs 数组指针
  3. 指针与类成员函数(成员函数指针)
  4. 智能指针(unique_ptr, shared_ptr, weak_ptr
  5. 指针与继承、虚函数表(vtable)
  6. 指针与内存对齐、指针算术
  7. 指针类型转换(reinterpret_cast, static_cast
  8. 指针模拟多态和接口
  9. 自定义 allocator / 内存池(高级性能优化)
  10. 指针与并发(原子指针、锁自由结构)

1. 函数指针与回调机制

声明与使用

void hello() {std::cout << "Hello\n";
}void call(void (*func)()) {func(); // 调用传入的函数指针
}

也可以传入带参数的函数:

void print(int x) {std::cout << x << "\n";
}void call(void (*func)(int), int val) {func(val);
}

2. 指针数组 vs 数组指针

表达式含义
int* arr[10]数组,每个元素是 int*
int (*arr)[10]指向数组 的指针

示例

int* pArr[10];       // 10 个 int 指针
int arr[10];
int (*p)[10] = &arr; // 一个指针,指向包含 10 个 int 的数组

3. 成员函数指针

声明和调用成员函数指针:

class A {
public:void show() { std::cout << "A::show\n"; }
};void (A::*pFunc)() = &A::show;A a;
(a.*pFunc)();  // 使用成员函数指针调用

注意:成员函数指针与普通函数指针不同,它需要对象实例才能调用。


4. 智能指针(现代 C++ 的推荐方式)

std::unique_ptr

std::unique_ptr<int> p = std::make_unique<int>(10);
  • 不能拷贝,只能转移
  • 自动析构,无需手动 delete

std::shared_ptr

std::shared_ptr<int> p1 = std::make_shared<int>(20);
std::shared_ptr<int> p2 = p1;  // 引用计数 +1
  • 多个指针共享对象生命周期

std::weak_ptr

避免循环引用

std::weak_ptr<int> wp = p1;

5. 指针与虚函数表(vtable)

基类指针指向派生类(多态)

class Base {
public:virtual void foo() { std::cout << "Base\n"; }
};class Derived : public Base {
public:void foo() override { std::cout << "Derived\n"; }
};Base* b = new Derived();
b->foo(); // 输出 "Derived"

底层通过虚函数表(vtable)实现,vptr 指针指向类的虚函数表。


6. 内存对齐与指针算术

struct alignas(16) Vec4 {float x, y, z, w;
};

指针算术是按类型大小偏移的:

int* p = arr;
p += 2; // 实际偏移 sizeof(int) * 2 字节

7. 指针类型转换

int a = 10;
void* vp = &a;int* ip = static_cast<int*>(vp); // OK
float* fp = reinterpret_cast<float*>(ip); // 危险,类型错配

类型转换建议顺序:

  • static_cast:安全的编译期转换
  • reinterpret_cast位级别转换,需小心
  • const_cast:去掉 const 限定
  • dynamic_cast:用于 RTTI 下的多态类型转换(带 virtual

8. 指针模拟多态与接口

struct Interface {void (*run)(void*);void* self;
};void do_something(void* p) {std::cout << "Run on raw object\n";
}Interface iface = { do_something, nullptr };
iface.run(iface.self);
  • 类似于 C 风格接口表
  • 可用于插件系统、自定义脚本语言嵌入等

9. 自定义内存分配器(性能优化)

使用自定义 pointer allocator,跳过 malloc/new:

template <typename T>
class MyAllocator {...T* allocate(size_t n) { return static_cast<T*>(::operator new(n * sizeof(T))); }
};

结合 STL 使用:

std::vector<int, MyAllocator<int>> v;

也可做内存池管理(如用于点云、游戏对象池)


10. 指针与并发

  • std::atomic<T*> 保证多线程访问安全
  • 可用于 lock-free 数据结构
std::atomic<int*> ap;
int* p = new int(42);
ap.store(p);

高级:Hazard Pointer、ABA 问题、Compare-And-Swap(CAS)


总结脑图式表

            ┌────────────┐│ 高级指针用法│└────────────┘↓┌────────────┬────────────┬────────────┬────────────┐│ 函数指针   │ 成员指针   │ 智能指针   │ 指针算术   │├────────────┴────────────┴────────────┴────────────┤│ 内存池     │ 指针与类   │ vtable 多态│ 类型转换   │├────────────┬────────────┬────────────┬────────────┤│ ABI + 栈帧 │ 并发原子指针│ 插件接口  │ STL allocator │└────────────┴────────────┴────────────┴────────────┘

文章转载自:

http://wkIIJeTG.fbxdp.cn
http://7Y5PSaF0.fbxdp.cn
http://GMpHKkof.fbxdp.cn
http://OweGV7cV.fbxdp.cn
http://meGUX5YX.fbxdp.cn
http://L6ywwFzJ.fbxdp.cn
http://ObFOve9S.fbxdp.cn
http://JE6PduNg.fbxdp.cn
http://FdQgS4Uq.fbxdp.cn
http://6gtUjEQe.fbxdp.cn
http://JK0Qp0xP.fbxdp.cn
http://iyGwwnmA.fbxdp.cn
http://fghiCIGG.fbxdp.cn
http://txQEyMFg.fbxdp.cn
http://dQbzAQsZ.fbxdp.cn
http://olAhOsNT.fbxdp.cn
http://jU0f1Tqd.fbxdp.cn
http://mKO6CXBu.fbxdp.cn
http://cYttcrBV.fbxdp.cn
http://iwk39lnL.fbxdp.cn
http://g3VuDtw4.fbxdp.cn
http://8ubd5bd1.fbxdp.cn
http://T31bEZky.fbxdp.cn
http://qxuKPtmE.fbxdp.cn
http://byLBw8ki.fbxdp.cn
http://RupbiQ7k.fbxdp.cn
http://B4pu6O2s.fbxdp.cn
http://LXOitNRL.fbxdp.cn
http://I3OvrhpC.fbxdp.cn
http://Y8ZC050y.fbxdp.cn
http://www.dtcms.com/wzjs/706480.html

相关文章:

  • 网站建设合同怎么写网络营销就是网上消售吗
  • 哪个视频网站做自媒体网站开发与应用总结
  • 吉林企业网站建设成都网站开发工作室
  • 广西庆海建设发展有限公司网站平面设计范文
  • 在线网站建设哪家好开发工程师
  • 凡科建站公司wordpress做付费阅读
  • 电商平台网站模板网站备案 类型
  • 惠州学院网站建设公司排名的网站
  • 酒店网站建设的需求分析报告logo设计在线生成免费标智客
  • 网站建设0基础深入浅出php
  • h5开源网站模板建购物网站如何运营
  • 黄金网站软件app视频app运营
  • 网站建设公司华网天下公司wap网站开发联系电话
  • 建设国际网站第一模板ppt网
  • 上海知名网站开发公司网站建设税率多少
  • 自己如何建企业网站省技能大赛网站开发方案
  • 免费制作软件的网站淘宝页面设计的网站
  • 网站建设找谁重庆网站建设公司招聘
  • 网站甚而模板镇江百姓网
  • 构建微网站沧州商城网站开发设计
  • 深圳专业企业网站建设模板赣州网页设计师培训
  • 大兴企业网站建设公司时彩网站开发
  • 网站制作公司运作方案wordpress 手机lianxu播放
  • 成都营销型网站建设公司亦庄网站设计
  • dw建设网站如何加入音乐网站建设与管理指什么
  • 计算机网络技术 网站建设方向网站开发行业知识新闻
  • 宜城营销型网站套餐网站的建设与运营模式
  • 做网站的相关协议绵阳专门做网站的公司
  • 叮当设计网站动易网站无法安装
  • 福州网站开发培训赣州seo培训