C++
文章平均质量分 51
HarryWg
这个作者很懒,什么都没留下…
展开
-
C++、Java的函数传参分析
对于基本类型,C++与Java均为传值调用,那么对于对象传参,二者是否有不同的机制呢。C++函数传参分析#include<iostream>class Dog{private: int id; //狗狗idpublic: Dog(int id_) //有参构造函数 { std::cout << "Constructing Dog" << std::endl; this->id = id_;原创 2021-04-14 17:46:32 · 121 阅读 · 0 评论 -
STL容器的底层实现分析
底层实现对表现的影响vectorvector底层由数组实现优势由于连续存储的特性,因此具有类似于数组随机访问(下标)的便于随机访问的优势,时间均为O(1)劣势因为由数组底层实现,因此在进行非最后元素的增删时会较大开销,用于移动元素在内存中的地址(如果在头加入元素,那么后面的所有元素都要后移)存储空间利用率不高,在下一点详细说明vector 动态增加大小,并不是在原空间之后持续新空间(因为无法保证原空间之后尚有可供配置的空间),而是以原大小的两倍另外配置一块较大的空间,然后.原创 2021-04-13 10:00:08 · 167 阅读 · 0 评论 -
C++浅拷贝深拷贝
浅拷贝#include <iostream>class Dog{private: int id; //狗狗id int *a; //狗狗年龄 *(a + 1)public: Dog(int id_, int *a_) //有参构造函数 { this->id = id_; this->a = a_; } void show_a() //输出年龄(存在一个数组的1位) {原创 2021-04-14 17:12:23 · 203 阅读 · 0 评论