自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 收藏
  • 关注

原创 jupyter notebook网页版不显示anaconda虚拟环境内核

将虚拟环境添加到jupyter notebook中。

2023-10-19 09:38:15 140

原创 vscode提示扩展主机在过去5分钟内意外终止了3次,解决方法

vscode提示扩展主机在过去5分钟内意外终止了3次,排查问题

2023-10-17 14:12:54 1219 1

原创 linux vi/vim

Linux vi/vim指令

2023-08-11 10:44:54 829

原创 写时复制&内存缓存区&ICMP重定向

写时复制&内存缓存区&ICMP重定向

2023-07-26 09:39:33 176

原创 字节序解析(附C++代码示例)

字节序解析(附C++转换代码示例)

2023-07-24 16:02:17 335

原创 Linux使用supervisor管理进程

使用supervisor进行进程管理

2023-07-18 11:15:17 254

原创 Windows系统中将markdown文件批量转化为PDF

windows系统中通过pandoc和bat文件将markdown批量转化为PDF

2023-07-07 14:01:44 2161 2

原创 卡尔曼滤波(附C++代码)

卡尔曼滤波

2023-07-06 20:17:31 982

原创 原码、反码、补码

原码、补码、反码

2023-06-15 09:13:15 470

原创 第二章:基本概念(下)

第二章基本概念(下)

2023-06-12 14:09:46 395

原创 第二章:基本概念(上)

基本概念(上)

2023-06-09 11:26:21 885

原创 宽带、带宽、网速、吞吐量与宽带上下行

宽带、带宽、网速、吞吐量与宽带上下行

2023-06-07 10:59:03 884

原创 iperf3使用

iperf3使用

2023-06-07 10:16:36 2267

原创 Git学习笔记

Git是目前世界上最先进的分布式版本控制系统(没有之一)。

2023-06-01 16:08:12 650

原创 第56章:socket介绍

socket简介

2023-05-25 16:10:28 1252 1

原创 TCP/IP基础知识

TCP/IP基础知识

2023-04-28 10:16:30 567

原创 Ubuntu系统中从Windows中拷贝来的文件./configure报错解决

./configure报错

2023-04-28 09:40:51 654

原创 Ubuntu网络相关设置

Ubuntu网络相关设置

2023-04-28 09:31:56 1609

原创 ubuntu进程相关command

Ubuntu进程相关command

2023-04-24 10:43:29 247

原创 CMake教程

常用cmakelists编写

2023-04-19 19:39:45 414

原创 网络设备列举

一些网络中的设备

2023-04-04 14:17:48 263

原创 Anaconda基本操作

anaconda prompt的一些基本操作整理

2023-04-04 11:02:04 53

原创 Ubuntu系统下设备信息查询

Ubuntu系统下设备信息查询

2023-04-03 11:24:50 1173

原创 linux下将word转为PDF

在linux中将word转为pdf

2023-03-30 14:56:09 2354 3

原创 Item30:透彻了解inlining 的里里外外

将大多数inlining 限制在小型、被频繁调用的函数身上。这可使日后的调试过程和二进制升级( binary upgradability)更容易,也可使潜在的代码膨胀问题最小化,使程序的速度提升机会最大化。不要只因为function templates 出现在头文件,就将它们声明为inline。

2023-03-10 14:40:52 279

原创 Item 28:避免返回handles指向对象内部成分

避免返回handles(包括references、指针、迭代器)指向对象内部。这样可增加封装性,帮助const成员函数的行为像个const,并将发生“虚吊号码牌”(dangling handles)的可能性降至最低。

2023-03-09 17:08:09 128

原创 Item27: 尽量少做转型动作

如果可以,尽量避免转型,特别是在注重效率的代码中避免dynamic_casts.如果有个设计需要转型动作,试着使用无需转型的替代设计。如果转型是必要的,试着将它隐藏于某个函数背后。客户随后可以调用该函数,而不需将转型放进他们自己的代码内。宁可使用C++-style(新式)转型,不要使用旧式转型。前者很容易辨识出来,而且也比较有着分门别类的功能。

2023-03-09 16:31:00 121

原创 Item 26:尽可能延后变量定义式的出现时间

尽可能延后变量定义式的出现。这样做可增加程序的清晰度并改善程序效率。延后的真正含义有2:延后变量的定义,直到非得使用该变量的前一刻为止;延后变量的定义,直到能够给它初值实参为止。

2023-03-09 10:39:19 37

原创 Item25:考虑写出一个不抛异常的swap函数

当std::swap对你的类型效率不高时,提供一个swap成员函数,并确定这个函数不抛出异常。如果提供一个member swap,也该提供一个non-member swap用来调用前者。对于classes (而非templates),请特化std::swap。调用swap时应针对std::swap使用using声明式,然后就可以直接调用swap。为“用户定义类型”进行std templates全特化是好的,但千万不要尝试在std内加入某些新东西。

2023-03-09 10:14:03 53

原创 Item24:若所有参数皆需类型转换,请为此采用non-member函数

如果需要为某个函数的所有参数(包括被this 指针所指的那个隐喻参数)进行类型转换,那么这个函数必须是个non-member。

2023-02-28 15:37:34 35

原创 Item23:宁以non-member、non-friend替换member 函数

宁可拿non-member non-friend函数替换member函数。这样做可以增加封装性、包裹弹性( packaging flexibility)和机能扩充性。

2023-02-28 15:15:18 49

原创 Item22:将成员变量声明为private

切记将成员变量声明为private。这可赋予客户访问数据的一致性、可细微划分访问控制、允诺约束条件获得保证,并提供class 作者以充分的实现弹性。protected并不比public更具封装性。

2023-02-27 15:55:03 82

原创 Item21:必须返回对象时,别妄想返回其reference

绝不要:返回pointer 或reference指向一个local stack对象,或返回reference指向一个heap-allocated对象,或返回pointer 或reference指向一个local static对象而有可能同时需要多个这样的对象。

2023-02-27 15:30:32 41

原创 Item20:宁以pass-by-reference-to-const替换pass-by-value

尽量以pass-by-reference-to-const替换pass-by-value。前者通常比较高效,并可避免切割问题(slicing problem) .以上规则并不适用于内置类型,以及STL的迭代器和函数对象。对它们而言,pass-by-value往往比较适当。

2023-02-27 14:50:22 36

原创 Item19:设计class 犹如设计type

Class 的设计就是type的设计。在定义一个新type之前,请确定你已经考虑过本条款覆盖的所有讨论主题。

2023-02-27 13:00:59 136

原创 Item18:让接口容易被正确使用,不易被误用

好的接口很容易被正确使用,不容易被误用。应该在所有接口中努力达成这些性质。“促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。“阻止误用”的办法包括建立新类型、限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。tr1::shared_ptr支持定制型删除器(custom deleter)。这可防范DLL问题,可被用来自动解除互斥锁(mutexes;见条款14)等等。

2023-02-27 11:42:06 35

原创 Item17:以独立语句将newed对象置入智能指针

将newed对象放入智能指针时,如果写在一起由于编译器会自己决定执行顺序,可能发生资源泄露,所以最好写成独立语句。

2023-02-24 14:59:54 115

原创 Item16:成对使用new和delete时要采取相同形式

如果你在new表达式中使用[],必须在相应的delete表达式中也使用[]。如果你在new表达式中不使用[],一定不要在相应的delete表达式中使用[]。

2023-02-24 09:39:34 32

原创 Item15:在资源管理类中提供对原始资源的访问

APIs往往要求访问原始资源(raw resources),所以每一个RAII class应该提供一个“取得其所管理之资源”的办法。对原始资源的访问可能经由显式转换或隐式转换。一般而言显式转换比较安全,但隐式转换对客户比较方便。

2023-02-23 17:23:55 38

原创 Item14:在资源管理类中小心 coping行为

复制RAII对象必须一并复制它所管理的资源,所以资源的copying行为决定RAII对象的copying行为。普遍而常见的 RAII class copying行为是:抑制copying、施行引用计数法(reference counting)。不过其他行为也都可能被实现。

2023-02-23 13:06:09 121

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除