上一页 1 ··· 6 7 8 9 10
摘要: ①首先,实例化从字面上来看就是产生一个实际的事物。在函数模板中就是产生一个特定的函数定义,例如有一个swap函数: template<typename T> void swap(T& a,T& b) {…} 使用模板,并不意味着我们生成了一系列的函数定义,而是一种方案,当我们传递类型进入的时候才生成 阅读全文
posted @ 2019-09-20 20:36 随处可见的阿宅 阅读(1084) 评论(0) 推荐(0) 编辑
摘要: 在C++中提供了两种隐式类型转换,一种是只有一个变量的constructors,另一种是隐式类型转换操作符。前者是指能够以单一自变量成功调用的constructor,后者是可以自定义的operator。前者主要带来有的一个并非自己想要的类型转换问题,而后者主要出现在自己编写的类型的代码中,用以提供特 阅读全文
posted @ 2019-09-02 20:24 随处可见的阿宅 阅读(832) 评论(0) 推荐(0) 编辑
摘要: 阅读侯捷的STL源码剖析时,发现在allocator类的代码中有这样一个struct 起初觉得很申必,因为无论是注释还是后续的代码中都没有提到此rebind。后来百度了一下知道了其实际意义,记录一下。 rebind的意义就在于实现两个不同但两者互相有关的类型(比如类型T和Node<T>类型),使用同 阅读全文
posted @ 2019-09-01 19:33 随处可见的阿宅 阅读(1207) 评论(0) 推荐(0) 编辑
摘要: 在使用二维数组时,我们可以使用a[][]来访问数组中的元素,这很显然是正确的也无需证明。 但如果要自己实现一个二维数组的时候,会发现如果想要重载符号[][],会被告知没有这个符号,这即引出了C++ oop设计方式中的一种proxy class方式。 proxy class即在一个class中,嵌套的 阅读全文
posted @ 2019-08-28 14:12 随处可见的阿宅 阅读(1321) 评论(0) 推荐(0) 编辑
摘要: 本来今天吧,想写一个proxy class的范例,写着写着出了个问题,见如下代码 同时我为Array1D这个类写了一个构造函数来顶替编译器自动生成的 随后报错,提示没有合适的默认构造函数,但是显然,我这里是提供了一个构造函数的,那么问题就出在现有的构造函数不能应对上面的new语句 联系vector的 阅读全文
posted @ 2019-08-27 21:47 随处可见的阿宅 阅读(4751) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10