C++
文章平均质量分 80
路人甲同学
这个作者很懒,什么都没留下…
展开
-
谈谈c++11 emplace_back
文章目录前言一、emplace_back()用法二、使用步骤1.引入库2.读入数据总结前言vector 容器提供的所有成员函数,在这些成员函数中,可以用来给容器中添加元素的函数有 2 个,分别是 push_back() 和 emplace_back() 函数。一、emplace_back()用法功能:和 push_back() 相同,都是在 vector 容器的尾部添加一个元素。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas a.转载 2021-08-06 14:56:02 · 23173 阅读 · 10 评论 -
new和malloc面试题
文章目录问题1:new和malloc有什么区别?问题2:new和delete是如何实现的?问题3:还有一个placement new知道么?问题4:被free回收的内存是立即返还给操作系统吗?notice:问题1:new和malloc有什么区别?- 是否可以被重载覆盖: malloc和free是标准库函数,支持覆盖; new和delete是运算符,不重载。 - 是否调用构造函数/析构函数: malloc仅仅分配内存空间,free仅仅回收空间,不具备调用构造函数和析构函数功能,用malloc分.转载 2021-08-05 11:16:49 · 299 阅读 · 0 评论 -
重载、隐藏、重写(覆盖)面试题
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例转载 2021-08-05 10:20:12 · 161 阅读 · 0 评论 -
share_ptr循环引用产生原因及其解决方案
文章目录一、shared_ptr 的循环引用示例二、循环引用的解决方案循环引用的解决方案是使用 weak_ptr。总结一、shared_ptr 的循环引用示例产生原因详解:根据代码执行顺序,share_ptr指针指向new创建的一个Person对象,也就是图中栈空间的person指针指向了堆空间的Person对象,引用计数为1,同理,car指针也指向了堆空间的Car对象,引用计数亦为1。接下来,Person对象里的成员m_car指向Car对象,Car对象的引用计数加1后为2,Car对象的m_p.原创 2021-08-03 11:43:16 · 3924 阅读 · 5 评论 -
奇异递归模板模式(Curiously Recurring Template Pattern)
文章目录前言一、静态多态二、添加方法,减少冗余前言CRTP是C++模板编程时的一种惯用法(idiom):把派生类作为基类的模板参数。更一般地被称作F-bound polymorphism。CRTP在C++中主要有两种用途:静态多态(static polymorphism)添加方法同时精简代码一、静态多态先看一个简单的例子:#include <iostream>using namespace std;template <typename Child>.转载 2021-07-14 19:45:52 · 257 阅读 · 0 评论 -
static_cast和dynamic_cast
static_cast和dynamic_cast前言一、static_cast关键字(编译时类型检查)二、dynamic_cast关键字(运行时类型检查)总结前言在C++标准中,提供了关于类型层次转换中的两个关键字static_cast和dynamic_cast。一、static_cast关键字(编译时类型检查)用法:static_cast < type-id > ( expression ),该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的.转载 2021-07-14 18:51:47 · 4529 阅读 · 1 评论