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

泉州哪个公司网站做的好如何设置友情链接

泉州哪个公司网站做的好,如何设置友情链接,秦皇岛微信公众号,网站建设银川目录 31. c生成可执行文件的四个步骤 32. 什么是悬挂指针 33. 什么时候会出现悬挂指针 34. #define和const 有什么区别 35. include<> 和 include" " 的区别 36. c的定义和声明 37. c将引用作为返回值的好处和应该遵守的规则 38. 成员函数是通过什么来…

目录

31. c++生成可执行文件的四个步骤

32. 什么是悬挂指针

33. 什么时候会出现悬挂指针

34. #define和const 有什么区别

35. include<> 和 include" " 的区别

36. c++的定义和声明

37. c++将引用作为返回值的好处和应该遵守的规则

38. 成员函数是通过什么来区分不同对象的成员变量的?

39. c++编译器为类提供的四个缺省函数是什么

31. c++生成可执行文件的四个步骤

  1. 预处理预处理根据字符#开头命令修改原来c++程序这个阶段主要处理#include#define 预处理指令头文件插入程序进行替换操作
  2. 编译:编译器预处理文件作为输入进行语法分析语义分析处理这些处理代码转化中间代码中间代码汇编语言
  3. 汇编:汇编器编译阶段生成中间代码翻译机器语言指令01二进制)结果保存目标文件生成符号表(记录函数、变量的名称、地址等)。
  4. 链接:链接器各个目标文件以及程序需要库文件进行连接生成执行文件连接器解决目标文件之间引用关系他们组合一个完整程序跨文件合成段表、符号表的合并和重定位

32. 什么是悬挂指针

悬挂指针也叫野指针指向非法内存地址指针无法正常使用指针

33. 什么时候会出现悬挂指针

1. 使用未初始化的指针:定义指针变量没有对其进行初始化这是出现悬挂指针典型情形(定义指针时没初始化,它的值是随机的垃圾值指向内存里未知区域,随机地址解引用,可能崩溃或破坏数据)

int* p; // 未初始化,p的值不确定
// *p = 10; // 危险!随机地址解引用,可能崩溃或破坏数据

2. 指针所指的对象已经消亡:指针指向对象生命周期结束对象已经消亡仍然使用指针访问对象就会出现运行时错误

3. 指针释放后未置空:指针free或者delete释放没有NULL此时指针指向“垃圾”内存

4. 在c语言中,realloc函数(c语言标准库中用于动态内存重新分配的函数)使用不当:如果内存后面没有足够空间原有空间扩展一个连续realloc函数重新一块内存并把原来通过malloc函数得到内存空间内容复制这块内存此时数据发生移动那么原指针指向内存空间实际已经释放这样就会产生原指针悬挂

34. #define和const 有什么区别

define定义常量没有类型const定义常量类型名字

编译器处理不同define定义预处理阶段替换可能多个拷贝const定义变量编译确定只有一个拷贝(const 定义的常量,因为是 “有类型、有作用域的变量”,编译器会通过 编译优化、内存复用,让它在程序里尽可能只存 “一份拷贝” ,实现“共享拷贝”)。

35. include<> 和 include" " 的区别

  • #include<>用于包含系统标准头文件编译器系统指定标准头文件目录查找包含头文件例如<iostream>
  • #include" "通常用于包含用户自己编写头文件编译器当前源文件所在目录查找

36. c++的定义和声明

声明主要编译器告知某个变量函数类型存在分配实际存储空间详细定义行为声明只是告诉编译器“有这么个东西”

定义不仅声明变量函数类型存在还会分配存储空间(对于变量)详细描述行为(对于函数等)一个变量函数程序中只能定义一次

37. c++将引用作为返回值的好处和应该遵守的规则

  • 减少内存开销:内存产生返回值副本避免不必要内存分配复制操作
  • 提高效率:可以直接返回对象本身不需要创建临时对象从而提高程序运行效率
  • 支持链式操作:返回引用可以支持链式操作使得代码更加简洁和易读
  • 流操作符重载返回值应声明为引用:为了保证连续使用操作<<和>>)重载返回值操作同一个对象(c++标准库已经针对基础数据类型像int、char、string等,对operator<<进行了重载,所以可以直接进行链式输出操作)。
  • +-*/ 四则运算符不能返回引用:这是因为四则运算符通常用于产生值。重载四则运算符时应返回值,而不是引用,返回引用相当返回局部变量引用不是直接修改操作
  • 不能返回局部变量的引用:因为局部变量函数返回会被销毁返回引用导致引用指向无效内存区域可能引发运行时错误
  • 可以返回类成员的引用,但最好是const类型:这样可以避免意外修改成员同时也能提高代码可读性维护性

38. 成员函数是通过什么来区分不同对象的成员变量的?

成员函数通过对象指针(this指针)区分不同对象成员变量

成员函数内部有一个隐含指针this指向调用成员函数具体对象不同对象调用同一个成员函数this指针就会指向各自对应对象从而能够准确访问操作对象成员变量不同对象数据区分开来

例如有一个Person包含成员变量age不同person对象调用成员函数修改agethis指针明确指向具体那个对象使得修改当前对象age不是其他对象

39. c++编译器为类提供的四个缺省函数是什么

  • 默认构造函数:没有显式定义构造函数编译器生成一个无参数默认构造函数
  • 拷贝构造函数:浅拷贝成员变量赋值操作不会产生堆区内存
  • 赋值运算符重载函数:浅拷贝问题因为也是成员变量赋值操作
  • 析构函数:对象销毁执行一些清理工作

持续更新...... 

http://www.dtcms.com/wzjs/349463.html

相关文章:

  • 网站设置301跳转用手机制作自己的网站
  • 给网站做蜘蛛抓取seo教育培训机构
  • 互联网设计师工资一般多少公司网站如何seo
  • deal 网站要怎么做免费推广方法有哪些
  • 江苏建设标准网站如何搭建自己的网站
  • 做网站公司那家好长沙互联网网站建设
  • 宁波网站优化平台百度app安卓版下载
  • 在线制作免费搜索引擎优化的例子
  • 中上网站建设如何进行推广
  • 广东深圳旅游景点宜昌网站seo
  • 高密营销型网站建设河南网站排名
  • 绍兴网站建设方案推广b2b是什么意思
  • 吴兴区建设局网站最近一周的重大热点新闻
  • python网站开发视频教程seo系统是什么
  • 禁止粘贴的网站互联网广告代理商
  • 购物类网站首页效果图seo网站怎么优化
  • 有人用dw做网站吗免费的h5制作网站
  • 公司做网站好不好全网营销系统怎么样
  • 做网站还得备案网络营销最火的案例
  • 郑州网站建设做推广吗比较好的品牌策划公司有哪些
  • 网站系统繁忙是什么意思seo推广技巧
  • 动态网站开发语言的优势与不足站长推广工具
  • 邯郸互联网公司深圳seo顾问
  • 织梦做双语网站上海seo服务
  • 赣州宏达网站建设目前最新的营销方式有哪些
  • 可以做申论的网站上海排名seo公司
  • 菏泽网站建设推广宁波seo推广咨询
  • 论坛网站建设推广优化指数基金怎么选
  • cms网站源码如何用html制作网页
  • 如何进行产品开发seo职位