指针函数和函数指针
概述 指针函数和函数指针是c语言里两个比较绕的概念。但是不仅面试题爱考,实际应用中也比较广泛。很多人因为搞不清这两个概念,干脆就避而远之,我刚接触c语言的时候对这两个概念也比较模糊,特别是当指针函数、函数指针、函数指针变量、函数指针数组放在...
概述 指针函数和函数指针是c语言里两个比较绕的概念。但是不仅面试题爱考,实际应用中也比较广泛。很多人因为搞不清这两个概念,干脆就避而远之,我刚接触c语言的时候对这两个概念也比较模糊,特别是当指针函数、函数指针、函数指针变量、函数指针数组放在...
首先明确两点 构造函数不可能定义为虚函数 虚函数的目的是通过父类引用或者指针调用子类的成员函数。而构造函数的目的是创建对象。创建子类对象时,将调用子类的构造函数,而不是父类的构造函数。子类的构造函数将使用父类的一个构造函数。这种顺序不同于继...
1. 序: 本文参考了侯捷的 《stl 源码分析》一书,出于兴趣,自行实现了简单的 list 容器。 学习了 stl 的 list 容器的源代码,确实能够提高写链表代码的能力。其中的 sort 函数,可谓是非常神奇。。。 2. ...
本文参考了侯捷的 《stl 源码分析》一书,出于兴趣,自行实现了简单的 vector 容器。 之后会陆续上传 list, deque 等容器的代码,若有错误,欢迎留言指出。 vector 容易实现的几点注意事项: 1. 由于vector 是...
intro to smart pointer and move semantics 1. 裸指针导致的内存泄漏问题 考虑下面这个函数,在这个函数中我们动态申请了一片内存。 void somefunction() { resource *pt...
右值引用 1. 什么是右值引用 右值引用是c 11新加的一种引用类型,是一种仅能绑定到右值上的引用。不同于左值引用仅用一个&表示,右值引用用两个&&表示。 int x{ 5 }; int& lref{ x ...
0. 删除vector中的指定元素 今天来探讨c 中的一个基础问题。如何正确地删除vector中符合条件的某元素。比如,有一个vector nums = {1, 2, 2, 2, 2, 3, 5},要求删除nums中所有值为2的元素。c ...
vector 中删除元素的方法是:b.erase(it); //b是vector, it 是 vector::iterator 但是删除vector 中的元素有些诡异(^_^),稍不注意,就会出错。 下面先给出基本v...
1、为何空类的大小不是0呢? 为了确保两个不同对象的地址不同,必须如此。 类的实例化是在内存中分配一块地址,每个实例在内存中都有独一无二的二地址。同样,空类也会实例化,所以编译器会给空类隐含的添加一个字节,这样空类实例化后就有独一无二的地址...
#include