搜索结果
查询Tags标签: noexcept,共有 10条记录-
C++11 关键字noexcept
noexcept关键字是c++11之后新增的。 该关键字会告诉编译器,被修饰的函数不会发生异常,有利于编译器对程序做更多的优化。 编译器做代码生成时,胡加一些额外的代码包裹原始代码,当出现异常时可以抛出一些相关的堆栈错误信息,包含:错误位置、错误原因、调用顺序和层级…
2022/5/6 11:42:49 人评论 次浏览 -
c++ 可调用类型(callable type)
可调用类型(callable type) 目录 目录可调用类型(callable type)目录一、概要(一)函数指针、函数引用(二)成员函数指针(三)仿函数(Functor)(四)lambda 表达式(五)一个可被转换为函数指针的类对象二、函数类型(一)概要1、函数类型都包括哪些信息?2、函数…
2022/4/24 22:13:08 人评论 次浏览 -
C++性能优化(九) —— TCMalloc
一、TCMalloc简介1、TCMalloc简介 TCMalloc(Thread-Caching Malloc,线程缓存的malloc)是Google开发的内存分配算法库,最初作为Google性能工具库 perftools 的一部分,提供高效的多线程内存管理实现,用于替代操作系统的内存分配相关的函数(malloc、free,new,new[]等…
2022/2/21 11:30:23 人评论 次浏览 -
《Effective Modern C++》学习总结(条款11- 15)
条款11:优先使用delete关键字删除函数而不是private却又不实现的函数 1.=delete 是C++ 11新特性——见侯捷C++ 九中的描述删除的函数不能通过任何方式被使用 方便起见,删除函数被声明为公有的,而不是私有的。这样设计的原因是,使这个函数为公有的可以产生更易读的错误…
2021/12/24 11:08:00 人评论 次浏览 -
《Effective Modern C++》学习总结(条款11- 15)
条款11:优先使用delete关键字删除函数而不是private却又不实现的函数 1.=delete 是C++ 11新特性——见侯捷C++ 九中的描述删除的函数不能通过任何方式被使用 方便起见,删除函数被声明为公有的,而不是私有的。这样设计的原因是,使这个函数为公有的可以产生更易读的错误…
2021/12/24 11:08:00 人评论 次浏览 -
c++智能指针解析
1.auto_ptr 概述:C++98中引入auto_ptr,但是实现有缺陷(使用copy语义转移资源),现已弃用,在实际项目中不应该使用。点击查看代码``` // CLASS TEMPLATE auto_ptr templateclass auto_ptr{ // wrap an object pointer to ensure destruction public:typedef _Ty element…
2021/12/20 20:21:41 人评论 次浏览 -
c++智能指针解析
1.auto_ptr 概述:C++98中引入auto_ptr,但是实现有缺陷(使用copy语义转移资源),现已弃用,在实际项目中不应该使用。点击查看代码``` // CLASS TEMPLATE auto_ptr templateclass auto_ptr{ // wrap an object pointer to ensure destruction public:typedef _Ty element…
2021/12/20 20:21:41 人评论 次浏览 -
cleanc++05_02 - Move语义与右值引用
Move 语义 什么是Move语义? 简单来说,就是只移动对象的数据,而不需要对原对象进行深拷贝。 Move语义的优势——Move操作符效率比拷贝操作符效率高。 使用方法: class Clazz{ public:Clazz() noexcept;Clazz(clazz&& other) noexcept; // move 构造函数Clazz&…
2021/11/21 20:40:12 人评论 次浏览 -
cleanc++05_02 - Move语义与右值引用
Move 语义 什么是Move语义? 简单来说,就是只移动对象的数据,而不需要对原对象进行深拷贝。 Move语义的优势——Move操作符效率比拷贝操作符效率高。 使用方法: class Clazz{ public:Clazz() noexcept;Clazz(clazz&& other) noexcept; // move 构造函数Clazz&…
2021/11/21 20:40:12 人评论 次浏览 -
C++ noexcept异常说明及其使用
noexcept异常说明 noexcept异常使用相比于断言适用于排除逻辑上不可能存在的状态,异常通常是用于逻辑上可能发生的错误。在C++98中,我们看到了一套完整的不同于C的异常处理系统。通过这套异常处理系统,C++拥有了远比C强大的异常处理功能。 在异常处理的代码中,程序员有…
2021/7/5 14:37:47 人评论 次浏览