C++
xingtianxia710
所有复杂的工作,都可以简化为简单的填表
展开
-
使用vs code + wsl打造C/C++开发环境
C++原创 2022-06-19 15:22:07 · 327 阅读 · 1 评论 -
C++ 使用智能指针管理数组
int main() { // 使用智能指针管理数组 std::unique_ptr<uint8_t[]> buff = std::make_unique<uint8_t[]>(100); auto bufPtr = buff.get(); if (bufPtr == nullptr) { return -1; } for (uint32_t i = 0; i < 100; ++i) { buf原创 2020-08-31 22:22:38 · 2073 阅读 · 0 评论 -
【C++学习】查看C++对象内存布局
环境g++ --versiong++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0Copyright (C) 2017 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even...原创 2020-05-06 23:36:02 · 800 阅读 · 0 评论 -
【C++学习】构造函数和析构函数顺序
总体说明:两个类X和Y,Y继承自X。通过基类指针delete 派生类对象,只会调用基类的析构函数。派生类的析构函数不会调用。 这是一个比较容易写出bug的一个地方。通常做法是,如果基类包含虚函数,那么析构函数必须设置成虚函数。其它情况,派生类析构函数会先调用,然后调用基类析构函数。问题:如果对于任何场景,析构函数都写成虚函数,是否可行?无虚函数栈上对象class X {publi...原创 2020-05-06 23:12:56 · 190 阅读 · 0 评论 -
【C++学习】std::tuple
int main() { // 使用方法1 std::tuple<int, const char *, char, float> t1(99, "ing", 'c', 0.32); cout << std::get<0>(t1) << endl; cout << std::get<1>(t1)...原创 2020-05-06 21:52:19 · 145 阅读 · 0 评论 -
【C++学习】C++虚函数与虚表
虚表的定义虚函数表。编译器为每个类在对应的类空间分配一块内存用来存储该类的所有虚函数。虚表的内存两个类class A, class B, B----继承----->A。三个类...原创 2020-05-04 20:56:15 · 195 阅读 · 0 评论 -
如何才算是追求好的代码
功能正确是不用说的。代码运行性能要好,空间性能和时间性能肯定是越低越好。可读性高,容易理解,这样维护代码的同学更容易上手,更容易理解,也就更不容易出问题。可扩展性好,增加新功能,修改bug比较容易,不需要到处修改,不会影响很多地方。修改点集中,修改代码的风险容易控制。代码量少,完全相同的功能,20行的代码必然比100行代码更容易维护的。...原创 2020-04-24 23:34:02 · 168 阅读 · 0 评论