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

Jungle笔记

专栏作者
75
文章
46036
阅读量
13
订阅数
抽象类为什么不能被实例化?
首先,语法上,抽象类不能被实例化,这是语法规定。强制实例化一个抽象类的代码,编译器会报错。
用户6557940
2023-09-06
3500
STL:调用empty()而不是检查size()是否为0
另一种方式是,调用empty()函数。各类STL容器都提供了empty()函数,如果为空,则empty()返回true;否则返回false。
用户6557940
2023-03-05
1K0
重构—时时勤拂拭,勿使惹尘埃
重构完成以后,好处是显而易见的。算子依赖分析的pass,逻辑简洁而清晰,并且易于修改和扩展。codegen.cpp文件的代码行数减少了900多行,发射算子的模块也根据硬件特性,搭建了清晰的类关系。顺便地,我也改善了一些变量和函数的命名,抽取了一些工具函数和公共函数。
用户6557940
2022-12-13
2160
程序员从幼稚到从成熟的过程是什么?
知乎上有个有意思的问题:“你认为程序员从幼稚到成熟的过程是什么?”关注数超过2500,浏览次数更是超过100w。看来大家都很关心自己熟没有。
用户6557940
2022-12-13
2420
如何遵循“低耦合”设计原则?
类的设计需要遵循“高内聚、低耦合”的设计原则(或者说“高内聚、松耦合”)。什么是高内聚和低耦合:
用户6557940
2022-07-24
4160
int8 & int8,你栽过这样的跟头吗?
“0x80是负0,其实就是0,因为二进制最高位是符号位,为1表示这个数字是负数。”
用户6557940
2022-07-24
8740
头文件是必须的吗?跟一跟编译过程~~~
其中,预处理的职责包括展开#define宏定义,处理诸如#if/#ifdef/#ifndef之类的条件编译指令,以及处理#include,将被包含的文件直接插入到预编译指令的位置。当然,预处理过程还负责删除注释等职责。
用户6557940
2022-07-24
1.7K0
《STL源码剖析》应该怎样读?
作为C++开发者,我认为这本书是必读的(前提是必须知道STL容器的使用方法和常用的算法)。除了有感情地朗读以外,主要要了解以下知识点:
用户6557940
2022-07-24
7250
识别C++代码质量的诀窍,在这里……
也就是说,如果一个class有析构函数,并且析构函数有释放资源的操作,那么作者应该对拷贝构造和拷贝赋值函数有所处理,要么提供正确实现,要么delete。否则,这个class不是一个完整安全的设计。
用户6557940
2022-07-24
1990
new也可以创建对象,为什么需要工厂模式?
设计模式里,工厂模式是一类创建型的设计模式。为遵循软件设计和开发的开闭原则,先后衍生出了简单工厂模式,工厂方法模式和抽象工厂模式。作为一种创建型的设计模式,工厂模式是用来创建新对象的。那么问题就来了,以C++为例,C++的类明明构造函数也可以创建新的对象啊,为什么非得引入工厂模式呢?
用户6557940
2022-07-24
8280
C++ 有哪些经常用到的设计模式?
知乎上有一个问题:C++ 有哪些经常用到的设计模式?设计模式一共有23种至多,哪些才是经常用到的呢?这里Jungle简单总结了下个人在学习和开发过程中经常碰到的一些设计模式及其使用场景。
用户6557940
2022-07-24
4210
浅析C++类的内存布局
之前Jungle写过一篇文章《探究C++:虚函数表究竟怎么回事?》,主要通过测试代码来验证虚函数表的存在,进而说明C++的多态机制。但完成文章后仍旧觉得文章云里雾里,并不能很好地说明C++类的内存布局。于是在阅读完3遍《深度探索C++对象模型》之后,重新整理了相关知识点,完成此文。
用户6557940
2022-07-24
4440
【译】理解C和C++中的左值和右值
https://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c/
用户6557940
2022-07-24
1.1K0
克隆以后我就成了你——探究原型模式
清晰地记得中学生物课本上提到过的克隆羊“多利”,虽然多利寿命不长,但它的出现对“克隆(Clone)”技术意义重大。克隆,直观说就是从原有生物体上取体细胞,然后无性繁殖出有完全相同基因的个体或种群。而本文将要介绍的原型模式,将克隆技术应用到了软件设计层面。
用户6557940
2022-07-24
2440
并查集经典题解——交换字符串中的元素
在LeetCode上标签为“并查集”的题目不少,大部分题目在使用并查集后,解法一目了然,十分清晰,比如这篇文章要分析的一个题目——交换字符串中的元素。
用户6557940
2022-07-24
4230
建一栋房子总共分几步?建造者模式告诉你答案!
活了这20多年,全靠这个笑话活着!把大象装冰箱竟然只需要三步?那到底是怎么把大象装进冰箱呢?你问我,我问谁?再说,我也不关心这个!这……来点实际的吧,如果要建一栋房子,总共分几步?本文的建造者模式将声情并茂地向您娓娓道来……
用户6557940
2022-07-24
3290
每天都刷朋友圈,那你知道并查集吗?
微信大概是我们每天必须接触的一个APP之一,公交上、地铁上、工作休息时,刷刷朋友圈,看看好友当天经历了什么。相较于QQ,微信的一个特点之一就是:除非好友的好友也是你的好友,否则你在朋友圈里看不到好友的好友对好友朋友圈的点赞和评论。
用户6557940
2022-07-24
5150
学会工厂方法模式,搬起砖头更加给力!
在介绍简单工厂方法模式时Jungle总结出简单工厂模式存在最大的问题是违背了“开闭原则”,每当增加新的产品时,需要修改工厂类的逻辑。为了规避这种不足,同时很好的利用简单工厂模式的优点,本节Jungle将声情并茂地为您奉上工厂方法模式。
用户6557940
2022-07-24
1530
经典的二分查找法
二分查找法是一种基础的算法,应用于在有序元素序列中查找目标值。二分查找法思路清晰,可以描述为以下几个步骤:
用户6557940
2022-07-24
2770
抽象工厂模式——工厂方法的大结局
回顾之前的设计模式,简单工厂模式所有逻辑都封装在工厂类中,工厂根据客户提供的产品名字创建对应产品的对象实例;工厂方法模式将产品的创建过程放到了具体工厂类中,每一个工厂可以创建一个具体产品,由此可能会创建许多工厂类。很多时候,一个工厂不只是生产一种产品,而是生产一类产品,比如一个体育用品工厂,可以生产篮球、足球、排球等多种产品。此时我们可以把这些相关的产品归纳为一个“产品族”,由同一个工厂来生产,这即是Jungle今天要学习的抽象工厂模式。
用户6557940
2022-07-24
4970
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档