首页
学习
活动
专区
工具
TVP
发布

程序设计a

对优美代码,优美架构的学习和思考
专栏作者
13
文章
7656
阅读量
15
订阅数
第十一条 尽量使用零值可用的类型
村子里的设计师
2023-07-09
1330
类的静态成员变量
类的静态成员要在类内声明,类外定义。这样做的原因参照 here类外定义时又要注意哪些内容呢?不在头文件中定义静态成员变量这是“尽量不在头文件中定义变量”(参考)的延伸。错误的代码示例class.h#ifndef __CLASS_H#define __CLASS_Hclass A{ static int var;};int A::var = 1;#endifmain.cppint main() { return 0;}test1.cpp#include "class.h"test2
村子里的设计师
2023-05-20
1K0
理解c++中的声明与定义
我们经常说的判断语句,如“它是一只猫”,其实包含着“它存在”这一前提。我理解的“声明”是为了说明“它存在”,而“定义”是为了说明“它是什么”。
村子里的设计师
2023-05-20
5320
警惕:头文件中的static变量
如果说 全局变量“不受时间和空间限制”,那static变量是“不受时间限制,但受空间限制”。“不受时间限制”是指到程序运行结束时才释放,“受空间限制”是指 仅能在特定的作用域中使用。
村子里的设计师
2023-05-20
1.5K0
必须使用extern的场景
即使不使用extern,在头文件中定义的全局变量,也可以被引用了该头文件的外部源文件使用。那extern存在的意义是什么?它要解决什么问题?
村子里的设计师
2023-05-20
4870
g++编译链接多个文件
代码示例main.cpp#include "test1.h"int main() { test1(); return 0;}test1.h#ifndef __TEST1_H#define __TEST1_Hconst int kVar = 1; // 测试不使用externvoid test1();#endiftest1.cpp#include <iostream>#include "test1.h"using namespace std;void test1() {
村子里的设计师
2023-05-20
1.3K0
C++ 自己实现vector容器
#include <initializer_list>namespace my{template<typename T>class Alloctor {public:T* allocate(size_t length) {cout << " Malloc " << length << endl;return (T*)malloc(sizeof(T)*length); // malloc方法返回void*, (T*)void* 是将void*转为T*类型,void*是无类型的指针。}void dealloca
村子里的设计师
2023-04-15
2980
C++ 宏定义与inline函数
如果 函数执行时间 小于 函数调用(参数压栈,栈帧开辟与回收,结果返回),那使用宏或者inline能减少函数执行时间。
村子里的设计师
2023-03-28
3960
深入理解 C++ const
思考 const 是一个另类,它与“变量”之“变”相违背。为什么在变量能解决一切的语言中加入const?为什么python中没有const? const 重载函数的意义? const 其实也是c++权限管理的一部分。 (待续) const 和 指针 参考 参考中提到的一种“顺时针规则” 图片 图片 图片 图片 图片 const 和 引用 引用:避免拷贝 const:避免修改 const 成员函数 不能在const成员函数内修改成员变量
村子里的设计师
2023-03-28
2440
深入理解 C++权限管理
Public, Private, Protect 一文看懂C++ public, private, protect => 参考 语义 Private表达的语义是“只有我知道这些秘密”。 Protect表达的语义是“为父有一部分秘密愿意与我的孩子共享,但是我的孩子也要一起保护这个秘密。为父愿意与你共享,但你要把这个秘密当成Private” Public表达的语义是“这是完全公开的”。 从上面可以看出: Private的权限管理是极严苛的,仅允许自己类的成员函数内访问,子类中的成员函数都不能访问。 Publi
村子里的设计师
2023-03-24
4090
深入理解 设计模式之工厂模式
简言之,客户需要产品时找工厂要,而不是客户自己要产品。前者客户只需要 "向工厂申请产品"的接口,后者客户需要"申请产品1", "申请产品2"等多个接口。
村子里的设计师
2023-03-23
2830
程序设计原则
该原则实际是要求 父类足够抽象。这要求父类中定义的方法一定是最通用的,不存在一个方法不被其子类使用。
村子里的设计师
2023-03-21
3590
ROS2在自动驾驶系统中的应用
ROS(Robot operating system)是一个通用的机器人操作系统,自动驾驶是其中一个应用领域。ROS1已经比较古老了,自动驾驶公司中提到的ROS通常指ROS2,它采用的是DDS架构。我所在的公司虽然未直接使用ROS2,但是自研的自动驾驶系统采用的也是DDS架构,算是在抽象的ROS2架构之上研发。
村子里的设计师
2023-03-21
7350
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档