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

网站后台如何做下载连接公司域名备案

网站后台如何做下载连接,公司域名备案,知名网站服务器,服务区里可以做多少个网站#x1f3f3;️‍#x1f308;C/C内存分布 说明#xff1a; 1.我们的代码并非放在代码段里的#xff0c;而是以文件的形式存在磁盘上的。 代码经过编译链接形成的二进制指令#xff0c;才是放进代码段里的。#xff08;即可执行代码#xff09; 2.“abcd”如果没有被c…️‍C/C内存分布 说明 1.我们的代码并非放在代码段里的而是以文件的形式存在磁盘上的。 代码经过编译链接形成的二进制指令才是放进代码段里的。即可执行代码 2.“abcd”如果没有被const修饰那是放在栈区的。经过const修饰为只读常量后放在代码段。 练习 int globalVar 1; static int staticGlobalVar 1; ​ void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] abcd;const char* pChar3 abcd;int* ptr1 (int*)malloc(sizeof(int) * 4);int* ptr2 (int*)calloc(4, sizeof(int));int* ptr3 (int*)realloc(ptr2, sizeof(int) * 4);free(ptr1);free(ptr3); } 选择题 选项: A.栈 B.堆 C.数据段(静态区) D.代码段(常量区) globalVar在哪里 staticGlobalVar在哪里 staticVar在哪里 localVar在哪里 num1 在哪里 char2在哪里 *char2在哪里 pChar3在哪里 *pChar3在哪里 ptr1在哪里 *ptr1在哪里 答案 CCCAA AAADAB ️‍C的内存管理方式 new/delete C在原有基础上(malloc之流) 引入了new和delete。 new的用法 //动态申请一个int类型的空间 int*p1 new int; ​ //动态申请一个int类型的空间并初始化为10 int*p2 new int(10); ​ //动态申请10个int类型的空间 int*p3 new int[10];//动态申请10个int类型的空间,并将前三个分别初始化为1、2、3 int*p new int[5]{1,2,3};   //注意这种方式C98是不支持的C11支持 delete的用法 delete p1; delete p2; delete[] p3; ​ //注下面这种写法是错误的 delete p1,p2;   //这样写仅能delete p1 delete是一个操作符后面直接跟操作数不需要像free那样接 ( )。 之前C语言中学到的malloc、calloc、free等C中照样是可以用的。 ❓那么问题来了new/delete 和 malloc/free 的区别是什么 区别一在对待自定义类型上 其实两者对待内置类型没有区别。 但是对于自定义类型new /delete 除了开空间还会调用构造函数和析构函数。 可见new/delete是为自定义类型准备的。 区别二开辟失败时 malloc申请空间失败会返回NULL所以需要进行检查 而new申请不需要做检查因为申请失败它直接抛异常 通过try-catch可以知道发生了什么异常 结果bad allocation 区别三new/delete是关键字而malloc/free是函数 new/delete操作自定义类型 class A { public:A() {cout A() endl;}~A() {cout ~A() endl;} }; ​ int main() {A* p1 new A; //new自定义类型delete p1; ​A* p2 (A*)malloc(sizeof(A)); //malloc自定义类型free(p2); ​int* p3 new int;   //new内置类型delete p3; ​int* p4 (int*)malloc(sizeof(int)); //malloc内置类型free(p4);return 0; } 结果 可见只有new/delete在操作自定义类型时会自动调用构造和析构函数。 new/delete的底层原理 new/delete的底层原理其实是 调用了函数operator new / operator delete来申请和释放空间。 注这里不是运算符重载函数名就是operator new。 ️‍️我们来看一下函数operator new void *__CRTDECL operator new(size_t size) _THROW1(_STD bad_alloc) {void *p;while ((p malloc(size)) 0) //通过malloc申请if (_callnewh(size) 0){// 当内存不够申请失败时// 这里会抛出bad_alloc 类型异常static const std::bad_alloc nomem;_RAISE(nomem);}return (p); } 可见operator new 实际也是通过malloc来申请空间而operator delete是通过free来释放空间的。 既然本质还是用malloc那兜这么一圈的意义何在 开空间的同时封装了malloc失败时能符合Cnew的失败机制即抛异常。 常考的笔试题 Q: malloc/free和new/delete的区别  从本质上1.new/delete是关键字而malloc/free是函数。 从功能上 2.malloc/free仅能开空间而new/delete在开空间的基础上还能自动调用构造/析构函数。 3.malloc开空间时要算好具体开的字节数而new不用想开几个[ ]中指定对象个数即可。 4.malloc的返回值为void*,在使用时必须强转new不需要因为new后跟的是空间的类型。 5.malloc申请空间失败时返回的是NULL因此使用时必须判空new不需要但是new需要捕获异常。
http://www.w-s-a.com/news/672099/

相关文章:

  • 献县网站建设网站开发专业定制
  • 龙华做网站yihe kj安徽六安彩礼一般给多少
  • flash网站建设公司我的小程序在哪里找
  • 建网站需要数据库吗如何制作简单的网页链接
  • 杭州设计企业网站高端公司上虞做网站公司
  • 做网站能赚钱么用wordpress搭建知名网站
  • 阿里云服务器网站开发青岛做网站找哪家
  • 凡科做的网站为什么打不开织梦cms仿某作文网站整站源码(带采集)安装数据库
  • 免费h5模板网站模板汽车报价网址
  • 蔡甸网站建设烟台网站建设yt
  • 最流行的网站开发新开的网页游戏平台
  • 暴富建站wordpress 标签分类
  • 搞笑网站源码百度快照替代
  • 重庆网站建设哪家公司哪家好关键词是怎么排名的
  • 青县网站建设今天国际大事新闻
  • 深圳正规网站制作哪里好怎样优化网络
  • 米拓网站建设教程dw成品网站成品视频教学
  • 用jsp做的网站源代码天门网站网站建设
  • 百度如何把网站做链接地址有没有资源可以在线观看
  • 淮安做网站找哪家好电子商务网站建设规划书的内容
  • 开发网站建设用什么框架php黄页系统
  • 聊城制作网站全球十大电商平台排名
  • 用什么来网站开发好mega menu wordpress
  • 深圳制作网站有用吗wordpress的主题
  • 网站的规划与创建天津市南开区网站开发有限公司
  • 免备案网站主机建站哪个平台好
  • python做网站 不适合单页营销分享网站
  • 珠海市研发网站建设建设网站挣钱
  • 阿里巴巴国际站特点做wps的网站赚钱
  • wordpress更换域名后网站打不开宜昌建设银行网站