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

php完整网站开发案例上海国企排名100强

php完整网站开发案例,上海国企排名100强,wordpress 点赞数量翻倍,长沙公司网站模板制作方案一、内存管理中最长出现的问题: 1、空指针:空指针是一个不指向任何有效对象或函数的指针,其值为 NULL(C)或 nullptr(C11 起) 2、野指针:野指针是指指向“不可用”或“无效”内存地…

一、内存管理中最长出现的问题:

1、空指针空指针是一个不指向任何有效对象或函数的指针,其值为 NULL(C)或 nullptr(C++11 起)

2、野指针野指针是指指向“不可用”或“无效”内存地址的指针,指向一个未知地方

int* ptr;  // 未初始化,ptr 是野指针
*ptr = 10; // 危险操作,访问非法地址int* ptr = malloc(sizeof(int));
free(ptr);
*ptr = 20; // ptr 成为野指针(悬空指针)int* func() {int x = 10;return &x;  // 返回局部变量地址,函数结束后栈内存被释放,成为野指针
}

二、内存管理的方法

1、aoto(变量类型)

在 C++11 中,auto 关键字允许编译器根据变量的初始化表达式自动推导其类型,从而简化代码编写,尤其是在使用复杂类型时非常方便。使用场景通常有以下几个:

1、搭配STL容器使用

#include <vector>
std::vector<int> vec = {1, 2, 3};for (auto it = vec.begin(); it != vec.end(); ++it) {std::cout << *it << " ";
}

2、搭配智能指针使用

#include <memory>auto ptr = std::make_shared<int>(42);   // shared_ptr<int>
auto uptr = std::make_unique<std::string>("hello");  // unique_ptr<string>

2、智能指针(内存申请)

C++ 中的 智能指针 是用于自动管理动态内存的类模板,它们通过封装裸指针(raw pointer),在对象生命周期结束时自动释放资源,从而避免内存泄漏和悬空指针等问题。最常用的智能指针如下,使用场景如下:

  • 需要唯一控制资源时 → 使用 std::unique_ptr
  • 多个对象共享资源时 → 使用 std::shared_ptr

std::unique_ptr:同一时间只能有一个 unique_ptr 指向一个对象,使用make_unique创建一个对象。

std::shared_ptr:多个 shared_ptr 可以指向同一个对象,使用make_shared创建一个对象。

std::weak_ptr:不拥有对象,只是观察由 shared_ptr 管理的对象。

通过reset()函数可以手动释放资源,离开作用域以后也会自动释放资源

#include <memory>std::unique_ptr<int> ptr1 = std::make_unique<int>(42);
// std::unique_ptr<int> ptr2 = ptr1; // 编译错误:不可复制
std::unique_ptr<int> ptr2 = std::move(ptr1); // 合法:移动所有权std::shared_ptr<int> ptr1 = std::make_shared<int>(42);
std::shared_ptr<int> ptr2 = ptr1;  // 合法:共享所有权
std::cout << "Use count: " << ptr1.use_count() << std::endl;  // 输出 2ptr1.reset(); // 释放内存,ptr 变为 nullptr

3、NEW操作符(内存申请)

new 是一个用于动态分配内存的操作符,用于向堆去申请内存空间,它分配内存的大小由其后跟的数据类型决定。如,int* ptr = new int; 这行代码会在堆上分配一个能够存储一个整数的内存空间,并返回该内存块的首地址,将其赋值给指针 ptr。释放的时候需要调用delete ptr;去手动释放内存

int* p = new int;           // 分配一个未初始化的 int
int* p2 = new int(42);      // 分配并初始化为 42
delete p;
delete p2;

4、molloc(c语言内存申请)

分配指定大小(字节)的内存块,不初始化,需要手动管理内存

#include <stdlib.h>int* ptr = (int*)malloc(5 * sizeof(int));  // 分配能存储 5 个 int 的内存
if (ptr == NULL) {// 处理内存分配失败printf("Memory allocation failed\n");exit(EXIT_FAILURE);
}free(ptr);   // 释放后 ptr 成为“悬空指针”
ptr = NULL;  // 建议置为 NULL,防止后续误用


文章转载自:

http://rJ4xJ9mm.skrxp.cn
http://3tNIc9h1.skrxp.cn
http://63db9haJ.skrxp.cn
http://w47yJzfs.skrxp.cn
http://isQ0BYmV.skrxp.cn
http://8WCUCaHG.skrxp.cn
http://9j8c4IeX.skrxp.cn
http://WTNuuDzI.skrxp.cn
http://AkF8BOOz.skrxp.cn
http://lNiuBSI6.skrxp.cn
http://UcEwVKjI.skrxp.cn
http://ZgpVIgCs.skrxp.cn
http://0bGb77ma.skrxp.cn
http://kUVJidcx.skrxp.cn
http://OOOjRxkb.skrxp.cn
http://N2mBH9FX.skrxp.cn
http://mEXLyVEw.skrxp.cn
http://E58DuvdO.skrxp.cn
http://taFwCFk2.skrxp.cn
http://WBfsbaf0.skrxp.cn
http://HvkUnJ78.skrxp.cn
http://OVmueECT.skrxp.cn
http://yhF8LRlM.skrxp.cn
http://ootYdPPC.skrxp.cn
http://7hG6LfM6.skrxp.cn
http://23OY2tPi.skrxp.cn
http://loYndZHI.skrxp.cn
http://IEgE0h0O.skrxp.cn
http://JsVCRe1d.skrxp.cn
http://rLwyqKID.skrxp.cn
http://www.dtcms.com/wzjs/745102.html

相关文章:

  • 表格如何做网站小型手机网站建设哪家好
  • 海报模板免费下载网站如何重视企业网站的建设
  • 新网站怎样做外链深圳定制展会
  • wordpress 直接拖拽式建站怎样做网络销售平台
  • 衡阳网站建设开发价格typo3和wordpress
  • 关键词百度云seo01网站
  • 广州黄埔做网站的公司织梦动漫网站模版
  • uniapp怎么做淘客网站高级网站开发培训价格
  • 网站模板是怎么制作基于asp.net网站开发
  • 优秀网站建设哪家好企业营销型网站建设的可行性
  • 移动网站趋势山东网建设
  • 网站 服务 套餐厦门市建设局查询保障摇号网站
  • 网站轮播图片psd源码seo优化排名易下拉技巧
  • 品牌展示型网站有哪些网站宣传与推广的指导思想
  • 东莞wordpress建站企业系统集成
  • wordpress搬站流程贵阳学校网站建设
  • 打开网站弹出qqwordpress 视差
  • 建设平台网站一起做网店类似网站
  • 长沙做网站的如何运用网站做宣传
  • 金华北京网站建设上海培训机构
  • 一个云主机 多个网站企业如何建设自己的网站
  • 制作企业网站一般多少钱京东网站是刘强冬自己做的吗
  • 番禺网站 建设信科网络提升网站访问量
  • 温州市住房和城乡建设厅网站首页服装设计公司排行榜
  • 永州网站建设企业wordpress 发布接口
  • 上海做网站最好的公司网站解析出问题 邮件收不到了
  • 四川建设企业网站网站备案app
  • 手机网站页面设计千卓品牌策划
  • php网站制作流程申请了域名怎么做网站
  • 石家庄网站建设wsjz网站页面设计模板