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

建设企业网站e路护航官网下载网站简历

建设企业网站e路护航官网下载,网站简历,展示型网站和官网,网站建设中网站需求分析报告内容More Effective C Basics reference pointer reference 必定有值#xff0c;pointer 可以为空reference 声明时必须定义#xff0c;必须初始化reference 无需测试有效性#xff0c;pointer 必须测试是否为 nullreference 可以更改指向对象的值#xff0c;但是无法…More Effective C Basics reference pointer reference 必定有值pointer 可以为空reference 声明时必须定义必须初始化reference 无需测试有效性pointer 必须测试是否为 nullreference 可以更改指向对象的值但是无法指向其他对象pointer 可以指向其他对象 cast c 转型typeexprc 转型castexpr staticjust like c 转型无类型检查dynamicbase-》derived有类型检查reinterpret二进制重新解释受制于编译期平台constamend costness or volatileness polymorphically array 使用base array pointer处理derived array会导致未定义行为 default constructor 贸然提供default constructor需要在运行时测试是否值有效缺乏default constructor会带来束缚 无法创建对象数组只能创建指针数组可以使用 placement new 创建对象数组显式使用析构函数的 placement delete删除 使用 delete 删除 placement new 创建的对象会导致未定义行为 Operators implicit conversion 单参数构造函数或其余参数有默认值隐式类型转换操作符隐式类型转换导致难以发现的问题 构造函数标记为 explicit定义显式类型转换asType只能进行一次隐式转换多次类型转换不会有问题 increment/decrement prefix/postfix 【i累加后取出】clazz operator() 返回引用允许i 【i取出后累加】const clazz operator(clazz) 额外参数区分参数不得使用返回const不允许i为了使得逻辑一致用increment prefix来实现increment postfix override 、||、, 重载、||导致问题 、||条件满足/不满足会提前终止重载后左右式作为函数参数都会被执行 重载导致问题 逗号表达式先求解左式再求解右式值为右式重载后函数无法保证执行顺序 new, operator new, placement new, delete, operator delete, [] new无法重载operator new constructor placement newoperator new重载分配内存的行为 void * operator newsize_t placement new重载在指定内存上构建对象 void * operator newsize_t void* location deletedestructor operator delete placement new 分配的内存无法通过 operator delete 删除 显式析构 分配内存对应的方式删除 new-deletemalloc-free Exceptions 程序运行出错时设置状态变量或返回错误码无法保证异常被程序处理程序可能会异常运行而抛出异常如果未进行捕获程序便会立刻终止。 delete in destructor 将资源分配在对象内在析构函数中删除内存析构函数必然会被调用防止因为异常产生未删除内存 exceptions in constructor 构造函数异常部分构造的对象不会自动析构 将所有成员变量视为RAII对象使用shared_ptr exceptions in destructor 使用uncaught_exception判断析构函数时候正有一个exception在作用中正在处理异常的析构函数抛出未捕获的异常会导致程序终止不应该让析构函数抛出异常析构函数应该是异常安全的 stack unwinding C异常处理栈展开机制 异常被抛出当前作用域搜索异常处理程序catch块未搜索到销毁该作用域内的局部对象 调用析构函数出现异常程序终止std::terminate 退出当前作用域继续搜索上一级作用域未处理异常std::terminatestd::abort生成核心转储文件 catch exceptions param pass 处理异常和函数传参的区别 异常永远会被复制因为异常处理程序超出函数调用作用域 按值捕获复制两次传参一次复制一次引用捕获复制一次 不发生隐式类型转换仅能发生继承类型转换异常按catch的顺序处理没有最优类型匹配 子类异常应该写在基类异常的前面否则不会被处理 catch exceptions by reference catch by pointer无法判断是否应该删除资源catch by value子类异常由基类捕获会导致对象切割仅剩下基类行为catch by reference推荐使用且仅复制一次 exception specifications 在定义中指定函数可能抛出的异常 未指定则表明可能抛出任何异常指定noexcept表明不会抛出任何异常 抛出未定义异常会导致unexpected函数调用 unexpected的默认行为是调用terminate可以使用set_unexpected自定义处理行为 可以提供额外的异常定义说明但是违反说明的异常会直接导致程序终止 exception handling cost 异常处理会使得程序效率下降5%~10% Efficiency 80-20 rule 80%的资源被20%的代码占用不仅需要大幅优化代码更重要的是找到那20%的瓶颈不根据经验和直觉而是使用profiler来分析那20%代码 lazy evaluation 如果计算不是绝对必要使用lazy evaluation替代eager evaluation over-eager evaluation cache缓存已计算的值prefetch预先从磁盘读取可能访问的值每次读取磁盘多于请求量的值 avoid temporary 临时对象≠局部对象临时对象是没有名字的栈对象 函数传参隐式类型转换 by value隐式转换为临时对象by const reference隐式转换为临时对象by non-const reference隐式转化无法被触发因为对临时对象的修改无法反馈会引用对象因此编译报错 函数返回值 使用替代返回值优化RVO return value optimize 直接返回构造函数避免临时对象的生成 overload to avoid implicit type conversions 使用函数重载来避免没有函数重载时的隐式类型转换 supply and 操作符往往比有更高的效率重载操作符的时候提供版本 third party library 相同功能的第三方库在性能方面可能会有不同的设计和不同的效率偏重 inherit cost virtual functions 每个class包含一个虚函数表每个对象包含一个虚函数表的指针virtual 函数无法 inline因为 inline 需要在编译期复制函数调用而 virtual 需要运行期才能确定调用函数 multiple inheritance virtual base classes 菱形继承需要virtual base class额外的指针开销 runtime type identificationRTTI typeid获取class相应的type_info需要额外的指针指向type_info可以在虚函数表中添加指向type_info的指针 Techniques virtual constructor non-member function virtual constructor factory function 根据参数生成不同的子类 virtual copy constructor 每个子类添加虚函数clone调用拷贝构造函数 virtual non-member function 每个子类添加虚函数实现具体操作non-member function inline化调用相应虚函数 limit class instance count 关键资源有限其对应的类示例数目也有限 零或一单例模式n在构造函数中添加static示例计数使用make函数显式构造防止隐式构造增加计数 fore constructor in/out of heap in heap对象有自杀能力delete删除内存out of heap对象不会造成内存泄漏重载 static void * operator newsize_tstatic void operator deletevoid * smart pointers 智能指针无法在子类和基类之间转换需要借助于隐式类型转换操作符 reference count 多数对象共享少数的实值实值的产生和删除成本高使用引用计数来记录共享对象的个数在引用计数为零时删除 proxy class 表示一个观念上不存在的对象 实现[][]重载proxy对象为Array1D multi virtual function 根据多个子类的类型判断调用的函数 func(base*, base*) 虚函数RTTI运行时类型辨识虚函数重载自行实现虚函数表 Miscellany
http://www.hkea.cn/news/14498396/

相关文章:

  • 做行业门户网站要投资多少钱网站打开速度变慢
  • 英文网站模板制作深圳防疫措施优化
  • php网站开发实例项目网站建设国家和行业标准
  • 网站建设技术公司排名wordpress 4.9.1 漏洞
  • 最好的汽车科技网站建设柘城县网站建设
  • 西安企业建站费用o2o型网站
  • 做网站需要懂哪些语言工信部域名查询
  • 甘肃做高端网站兰州装修公司位置
  • wordpress网站设置关键词合肥做淘宝网站推广
  • 网站建设与管理实验报告怎么用eclipse做网页
  • 上门做美容的有什么网站wordpress企业营销主题
  • 自己网站怎么做百度优化wordpress主题 门户
  • 吴江seo网站优化软件旅游类网站如何做推广
  • 做网站有用没帮别人制作网页多少钱
  • 大连网站建设设计公司百度seo找哪里
  • 网站信管局备案濮阳做网站星月网络
  • 医院网站后台模板WordPress页脚小工具关闭
  • 网站开发 放大图片网络营销方式研究心得1500
  • 营销型网站的缺点如何查一个网站的备案号
  • 手机网站开发实例租房平台网站开发
  • 网站改版会影响收录吗成都网站开发培训机构
  • 国外最新创意产品网站网站怎么设计好看的图片
  • 打车软件app开发网站seo和sem是什么意思
  • 快速建设小说盗版网站网站做交叉连接
  • 查询自己网站外链四海网络网站建设
  • 如何查询网站历史快照监控摄像头做直播网站
  • 哪里搜索引擎优化好seo免费优化
  • ps网站导航怎么做竞价推广托管
  • python做的网站多吗iis7.0 asp网站配置
  • 网站源码地址怎么看做百度移动网站点