Tags
- emacs 21
- org-mode 4
- camera 1
- Windows 6
- comp arch 1
- 寶寶取名 2
- Field Bus 1
- baby 2
- Deutsch 40
- Français 41
- c prog 1
- lessons 2
- team 2
- MS office 1
- tools 2
- cygwin 2
- etiquette 1
- management 4
- communication 2
- leadership 2
- subversion 1
- uml 1
- plantuml 1
- travel 2
- habit 1
- learning 1
- quality 1
- thinking 1
- health 2
- phubbing 1
- phone 1
- cprog 1
- productivity 3
- art 1
- gift 1
- taboo 1
- industry 33
- culture 1
- English 275
- Linux 2
- python 1
- life 6
- Fraiçais 1
- yearly 1
- School 1
- iOS Swift 1
- Firefox 1
- Tooltip 1
- IIoT 2
- Italiano 1
- clojure 6
- mechanical 1
- poem 1
- development 1
- Docker 1
- Azure 1
- Clojure 5
- DevOps 1
- shadow-cljs 1
- Leiningen 1
- Emacs 2
- Cider 1
- ClojureScript 1
- manjaro 1
- wsl2 1
- movie 2
- Rust 2
- energy 4
- OPC UA 2
- lisp 1
- work 1
- CppCoreGuidelines 475
- OPCUA 3
- IoT 1
- Latin 24
- SOA 1
- cybersecurity 1
- cpp 1
- nostr 4
- programming 9
- SOLID 1
- C++ 1
- blockchain 1
- opcua 2
- LaTeX 1
- agile 1
- SAFe 1
- math 1
- German 1
- statistics 4
- l6s 4
- Safety 1
- Español 1
emacs
- Windows msys2 emacs
- 在 macOS 上使用 emacs
- Use org2jekyll to publish my blog
- Background Color of Inline Image for Orgmode in Dark Theme
- Send and Receive outlook email in WSL2 Emacs with mu4e, offlineimap and gnugpg
- s-exp operations in emacs
- 在 Windows WSL2 中安装 Manjaro 通过 XServer 使用 Emacs
- 在 Windows 上用 Emacs+offlineimap+mu4e 查收邮件
- 在 Emacs 中用 mu4e 和 offlineimap 查看 O365 Exchange 邮件
- 设置 Emacs 窗口大小
- Compile Emacs Version 26.1
- How to setup ac-clang-complete-async
- 有道詞典劃詞功能開啓導致 emacs mouse-set-region 按鍵衝突
- elisp function to toggle symbol highlight at the point
- Remove GREP_OPTIONS is deprecated warning
- dired move line wrap up
- Emacs coding system for correctly copy and paste Chinese characters
- How to input special German and French characters in emacs
- Open current working directory in cmd/mintty from emacs
- Windows 下通過 MinGW 編譯安裝 emacs
- export .org to .html file in other folder
org-mode
- Background Color of Inline Image for Orgmode in Dark Theme
- Extend orgmode link type to support new kind of links
- Drawing UML with plantuml
- export .org to .html file in other folder
camera
Windows
- Build clojure with maven on Windows 10
- Windows 深色主题深色标题栏
- Compile Emacs Version 26.1
- Change mouse scroll direction under Windows
- Authentication realm failed during SVN operation in Jenkins
- Window 7 黑屏无法登陆
comp arch
寶寶取名
Field Bus
baby
Deutsch
- 单词本:ciabatta
- 单词本:voraussichtlich
- 单词本:zuversichtlich
- 单词本:Der Geist ist willig
- 单词本:aufziehen
- 单词本:Entscheidung
- 单词本:linkisch
- 单词本:Mazel
- 单词本:Geige
- 单词本:wissen und kennen
- 单词本:eindrucksvoll
- 单词本:status quo
- 单词本:pretzel
- 单词本:sauerkraut
- 单词本:rire jaune
- 单词本:der Impfstoff
- 单词本:碳中和
- 单词本:饮用水
- 看新闻学单词:华为起诉美国政府
- 看新聞學外語:艾米·克罗布切
- 单词本:太阳系
- 单词本:猪
- 看新聞學外語:Was du hier als Erstes siehst, ist von deinem Alter abhängig
- 看新闻学语言:China reagiert
- 单词本:代码分支不可至
- 单词本:水果之橙子
- 单词本:水果之香蕉
- 單詞本:德語單詞 benötigen
- 单词本:洪荒之力
- 单词本:德语单词 Putsch
- 单词本:德语单词 auskommen
- 單詞本:德語單詞 aufbauen
- 單詞本:德語單詞 laufen
- 單詞本:德語單詞 prost
- 單詞本:德語單詞 laufen
- 單詞本:德語單詞 die Krise
- 單詞本:德語單詞 verteidigen
- 單詞本:德語單詞 das Fisch
- 單詞本:德語單詞 der Sauerstoff
- 單詞本:德語單詞 Ding
Français
- 单词本:pièce de résistance
- 单词本:tour de force
- 单词本:raison d'être
- 单词本:parlance
- 单词本:faux pas
- 单词本:carte blanche
- 单词本:nonchalant
- 单词本:culprit
- 单词本:redingote
- 单词本:flirter
- 单词本:paucity
- 单词本:sal volatile
- 单词本:encore
- 单词本:concur
- 单词本:arbitrage
- 单词本:sabotage
- 单词本:fait accompli
- 单词本:tarnish
- 单词本:de rigueur
- 单词本:en masse
- 单词本:rire jaune
- 单词本:déjà vu
- 单词本:vis a vis
- 单词本:impasse
- 单词本:éclipser
- 单词本:dormant
- 单词本:la cryptomonnaie
- 单词本:Esprit de corps
- 单词本:碳中和
- 单词本:饮用水
- 法语单词:biscuit
- 单词本:法语单词 debut
- 单词本:太阳系
- 单词本:猪
- 看新聞學外語:Trump n'a pas dit «tous les terroristes sont à Paris»
- 单词本:水果之香蕉
- 单词本:洪荒之力
- 單詞本:rire
- 單詞本:法語單詞 cuisine
- 單詞本:法語單詞 fermer
- 單詞本:法語單詞 an 和 année
c prog
lessons
team
MS office
tools
cygwin
etiquette
management
communication
leadership
subversion
uml
plantuml
travel
habit
learning
quality
thinking
health
phubbing
phone
cprog
productivity
art
gift
taboo
industry
- 边缘计算新标准 Margo:工作负载编排代理
- 边缘计算新标准 Margo:工作负载编排软件
- 边缘计算新标准 Margo:设备能力发现
- 边缘计算新标准 Margo:技术术语
- 边缘计算新标准 Margo:边缘设备
- 边缘计算新标准 Margo
- 工业物联网的现况、趋势和商业洞察
- PROFIBUS 简介
- PA-DIM:过程自动化-设备信息模型
- SECS/SEM 半导体行业的工厂通信标准
- PowerizeD 项目
- 动力电池管理系统(BMS)关键技术
- 什么是 SCADA?
- 什么是 RPA?
- 什么是 SOA
- EUROMAP 77:注塑机和 MES 之间的标准通信
- Siemens Xcelerator
- ABB基于5G的工业机器人测试床
- 聊一聊 Matter 协议
- 经典 OPC 与 OPC UA
- OPC UA 的发展历史
- 聊一聊 OPC UA
- Server with variables
- open62541 firststep on windows
- 汽车动力电池的数字孪生架构
- 机械设计基础 - 螺纹连接
- EdgeX 简介
- 談一談 ABB 智能傳感器解決方案
- ABB自動化世界
- 歷屆 ABB 自動化世界
- 从2016汉诺威工业展看工业4.0的发展现状
- ABB PLC 產品學習
- 工業 4.0 的基本概念
culture
English
- 单词本:volition
- 单词本:illicit
- 单词本:cocky
- 单词本:chew out
- 单词本:thwart
- 单词本:pseudonym
- 单词本:propensity
- 单词本:bagel
- 单词本:astute
- 单词本:typosquatting
- 单词本:commensurate
- 单词本:stem
- 单词本:stamina
- 单词本:bout
- 单词本:nitty-gritty
- 单词本:calibre
- 单词本:at bay
- 单词本:swift
- 单词本:provident
- 单词本:usher
- 单词本:quaint
- 单词本:kiln
- 单词本:inclement
- 单词本:torrential
- 单词本:protract
- 单词本:intractable
- 单词本:throttle
- 单词本:demolition
- 单词本:ropes
- 单词本:plunge
- 单词本:accolade
- 单词本:tug-of-war
- 单词本:integrity
- 单词本:courageously
- 单词:sedentary
- 单词:lackadaisical
- 单词本:hillibilly
- 单词本:confection
- 单词本:infighting
- 单词本:hunch
- 单词本:dimple
- 单词本:curvilinear
- 单词本:confidentiality
- 单词本:attain
- 单词本:enclave
- 单词本:benign
- 单词本:eavesdrop
- 单词本:collude
- 单词本:compromise
- 单词本:cloak-and-dagger
- 单词本:diversity
- 单词本:Der Geist ist willig
- 单词本:to hit the ground running
- 单词本:rocket science
- 单词本:imbue
- 单词本:judicious
- 单词本:flesh out
- 单词本:defuse
- 单词本:heed
- 单词本:tantamount
- 单词本:shtick
- 单词本:butterflies in the stomach
- 单词本:rainbow
- 单词本:beef
- 单词本:serval
- 单词本:cordially
- 单词本:fad
- 单词本:omnivore
- 单词本:hiccup
- 单词本:mutatis mutandis
- 单词本:pièce de résistance
- 单词本:aplomb
- 单词本:per diems
- 单词本:bane
- 单词本:impinge
- Moon
- 单词本:decimate
- 单词本:tour de force
- 单词本:naught
- 单词本:drohen
- 单词本:villain
- 单词本:greenwashing
- 单词本:raison d'être
- 单词本:parlance
- 单词本:caprice
- 单词本:acquiesce
- 单词本:corpse
- 单词本:pestilence
- 单词本:hectic
- 单词本:enchanter
- 单词本:detour
- 单词本:dairy
- 单词本:corpus
- 单词本:ageism
- 单词本:lip service
- 单词本:Lyra
- 单词本:schedule
- 单词本:philharmonic
- 单词本:sine qua non
- 单词本:auspice
- 单词本:inundate
- 单词本:faux pas
- 单词本:carte blanche
- 单词本:toe the line
- 单词本:nonchalant
- 单词本:excruciatingly
- 单词本:grok
- 单词本:ammunition
- 单词本:algorithm
- 单词本:avant-garde
- 单词本:to throw in the towel
- 单词本:be a fly on the wall
- 单词本:have skin in the game
- 单词本:canary in the coal mine
- 单词本:abut
- 单词本:pie in the sky
- 单词本:triumvirate
- 单词本:esoteric
- 单词本:formidable
- 单词本:culprit
- 单词本:de facto
- 单词本:conversant
- 单词本:shepherd
- 单词本:modus operandi
- 单词本:impromptu
- 单词本:plutocracy
- 单词本:oxymoronic
- 单词本:auspicious
- 单词本:redingote
- 单词本:unencumbered
- 单词本:flirter
- 单词本:aspiration
- 单词本:deviate
- 单词本:paucity
- 单词本:furlough
- 单词本:ethereal
- 单词本:endorse
- 单词本:taurus
- 单词本:perpectual
- 单词本:sal volatile
- 单词本:pedal
- 单词本:lunatic
- 单词本:encore
- 单词本:Thereby hangs a tale
- 单词本:concur
- 单词本:anchorite
- 单词本:idiosyncratic
- 单词本:impetus
- 单词本:staycation
- 单词本:status quo
- 单词本:circumcision
- 单词本:circumscribe
- 单词本:inter alia
- 单词本:nepotism
- 单词本:argumentum ad ignorantiam
- 单词本:a priori
- 单词本:ad nauseam
- 单词本:boycott
- 单词本:people person
- 单词本:ostracism
- 单词本:arbitrage
- 单词本:sabotage
- 单词本:anaphora
- 单词本:mercenary
- 单词本:fait accompli
- 单词本:vandalism
- 单词本:expunge
- 单词本:surreptitious
- 单词本:streamline
- 单词本:obsolescence & adolescence
- 单词本:triage
- 单词本:dexterous
- 单词本:serendipity
- 单词本:drive sb. nuts
- 单词本:whatnot
- 单词本:belligerently
- 单词本:hedonism
- 单词本:in situ
- 单词本:primus inter pares
- 单词本:pro forma
- 单词本:soldiering
- 单词本:quid pro quo
- 单词本:ad hominem
- 单词本:carpe diem
- 单词本:repercussion
- 单词本:irate
- 单词本:tarnish
- 单词本:pelikan
- 单词本:circadian
- 单词本:confiscate
- 单词本:obfuscate
- 单词本:en masse
- 单词本:pretzel
- 单词本:top-notch
- 单词本:sauerkraut
- 单词本:harp on
- 单词本:quandary
- 单词本:penchant
- 单词本:rire jaune
- 单词本:juxtapose
- 单词本:déjà vu
- 单词本:oestrus
- 单词本:flounder
- 单词本:ultimatum
- 单词本:to act in concert
- 单词本:paranoid
- 单词本:at risk of default
- 单词本:worth salt
- 直白的英语
- 单词本:gut feeling
- 单词本:先生
- 单词本:aficionado
- 单词本:vis a vis
- 单词本:en passant
- 单词本:Kakorrhaphiophobia
- 单词本:leitmotiv
- 单词本:loaf
- 单词本:impasse
- 单词本:tsunami
- 单词本:dormant
- 单词本:maverick
- 单词本:red tape
- 单词本:Esprit de corps
- 单词本:therblig
- 单词本:碳中和
- 法语单词:biscuit
- 单词本:法语单词 debut
- 单词本:太阳系
- 单词本:猪
- 单词本:母老虎
- 单词本:易怒的木片
- 单词本:无人机
- 单词本:作秀
- 单词本:亡命之徒
- 单词本:前所未有
- 单词本:通用语言
- 单词本:水果之浆果
- 单词本:水果之橙子
- 单词本:水果之香蕉
- 单词本:水果之苹果
- 单词本:蔬菜之菠菜
- 单词本:蔬菜之莴笋
- 单词本:蔬菜之竹笋
- 单词本:蔬菜之黄花菜
- 单词本:蔬菜之芦笋
- 单词本:蔬菜之洋葱
- 单词本:蔬菜之大蒜
- 单词本:蔬菜之韭菜
- 单词本:蔬菜之豆豆
- 单词本:蔬菜之瓜瓜
- 单词本:蔬菜之南瓜
- 单词本:蔬菜之西葫芦
- 单词本:蔬菜之黄瓜
- 单词本:蔬菜之红辣椒
- 单词本:蔬菜之番茄
- 单词本:茄子
- 单词本:蔬菜之芹菜
- 单词本:速度和芹菜无关
- 单词本:蔬菜之花菜
- 单词本:精神焕发
- 单词本:蔬菜之卷心菜
- 单词本:蔬菜
- 单词本:食物
- 单词本:牛的
- 单词本:洪荒之力
- 單詞本:搶座
- 单词本:采石场
- 单词本:撕咬
- 单词本:不许抄袭
- 单词本:英语单词 arbitration
- 单词本:英语单词 versatile
- 单词本:英语单词 provisional(临时的)
- 單詞本:英語單詞 symbiosis
- 單詞本:英語單詞 hermit
- 單詞本:英語單詞 Referendum
Linux
python
life
Fraiçais
yearly
School
iOS Swift
Firefox
Tooltip
IIoT
Italiano
clojure
- s-exp operations in emacs
- Using clj cli on Windows
- Clojure Database Access String
- Load clj libs directly from github
- Build clojure with maven on Windows 10
- Connect to Oracle DB from Clojure
mechanical
poem
development
Docker
Azure
Clojure
- babashka - 有趣又便捷巴布什卡头巾
- Clojure deps & clj guide
- Handle date time from Excel in clojure
- Clojure/Script Development Setup
- Use Azure DevOps Pipeline to automatically deploy to Azure Web App
DevOps
shadow-cljs
Leiningen
Emacs
Cider
ClojureScript
manjaro
wsl2
movie
Rust
energy
OPC UA
lisp
work
CppCoreGuidelines
- CppCoreGuidelines NL.27 用 .cpp 作代码文件名,用 .h 作接口文件名
- CppCoreGuidelines NL.26 用常规的 const 标记方式
- CppCoreGuidelines NL.25 不要用 void 作为参数类型
- CppCoreGuidelines NL.21 一次只声明一个变量名
- CppCoreGuidelines NL.20 不要在同一行写两个表达式语句
- CppCoreGuidelines NL.19 避免很容易误读的名字
- CppCoreGuidelines NL.18 用 C++ 风格的声明布局
- CppCoreGuidelines NL.17 用 K&R 风格的代码布局
- CppCoreGuidelines NL.16 遵循常规的类成员声明顺序
- CppCoreGuidelines NL.15 节约使用空格
- CppCoreGuidelines NL.11 字面量要容易读
- CppCoreGuidelines NL.10 建议用下划线命名风格 underscore_style
- CppCoreGuidelines NL.9 全大写只用于宏名字
- CppCoreGuidelines NL.8 遵循一致的命名风格
- CppCoreGuidelines NL.7 名字的长短和其作用范围匹配
- CppCoreGuidelines NL.5 避免把类型信息编码到变量名中
- CppCoreGuidelines NL.4 维护一致的缩进风格
- CppCoreGuidelines NL.3 注释清晰
- CppCoreGuidelines NL.2 在注释中表明意图
- CppCoreGuidelines NL.1 如果能在代码中清晰说明的不要放在注释中
- CppCoreGuidelines NR.7 不要把所有数据车内隔音设置为 protected
- CppCoreGuidelines NR.6 不要在函数末尾实施清理动作以及 goto exit
- CppCoreGuidelines NR.5 不要用两阶段初始化
- CppCoreGuidelines NR.4 不要坚持把每个类定义放在单独的源码文件中
- CppCoreGuidelines NR.3 不要避免异常
- CppCoreGuidelines NR.2 不要坚持在一个函数中只能有一个返回语句
- CppCoreGuidelines NR.1 不要坚持把声明放在函数开头
- CppCoreGuidelines A.4 代码库之间不能有循环依赖关系
- CppCoreGuidelines A.2 把可能能重用的代码做成库
- CppCoreGuidelines A.1 把稳定和不太稳定的代码分开处理
- CppCoreGuidelines SL.C.1 不要用 setjmp/longjmp
- CppCoreGuidelines SL.chrono Time
- CppCoreGuidelines SL.regex Regex
- CppCoreGuidelines SL.io.50 避免使用 endl
- CppCoreGuidelines SL.io.10 除非你用只用 prinft 函数,不然请先调用 ios_base::sync_with_stdio(false)
- CppCoreGuidelines SL.io.3 首选 iostream 处理 I/O
- CppCoreGuidelines SL.io.2 输入读取的时候,一定要考虑可能结构不对的输入值
- CppCoreGuidelines SL.io.1 只有在必要的时候用字符级别的输入流
- CppCoreGuidelines SL.str.12 用 s 后缀字面量标识标准库的字符串
- CppCoreGuidelines SL.str.11 如果要修改某个字符串,用 gsl:span
不要用 std::string_view - CppCoreGuidelines SL.str.10 如果要处理一些本地语言相关的字符串操作,可以用 std::string
- CppCoreGuidelines SL.str.5 用 std::byte 访问非字符的字节数值
- CppCoreGuidelines SL.str.4 用 char* 访问单个字符
- CppCoreGuidelines SL.str.3 用 zstring 或 czstring 访问 C 风格,空字符结尾的字符串序列
- CppCoreGuidelines SL.str.2 用 std::string_view 或 gsl::span
访问字符序列 - CppCoreGuidelines SL.str.1 用 std::string 表达字符串序列的所有权
- CppCoreGuidelines SL.con.4 不要给 memset 或 memcpy 传平凡可复制的类型
- CppCoreGuidelines SL.con.3 避免边界错误
- CppCoreGuidelines SL.con.2 一般使用 STL vector,除非你有其他特殊需求
- CppCoreGuidelines SL.con.1 用 STL array 或 vector,不要用 C 数组
- CppCoreGuidelines SL.4 以类型安全的方式使用标准库
- CppCoreGuidelines SL.3 不要把非标准库的实体放在 std 名字空间里
- CppCoreGuidelines SL.2 优先使用标准库
- CppCoreGuidelines SL.1 尽量用程序库
- CppCoreGuidelines SF.22 匿名 namespace 中放内部的、不导出实体
- CppCoreGuidelines SF.21 不要在头文件中用匿名 namespace
- CppCoreGuidelines SF.20 用 namespace 表达逻辑结构
- CppCoreGuidelines SF.12 相对路径的头文件用引号包含,其他情况用尖括号
- CppCoreGuidelines SF.11 头文件应当自包含
- CppCoreGuidelines SF.10 避免依赖于隐式包含的变量名
- CppCoreGuidelines SF.9 避免源代码之间循环依赖
- CppCoreGuidelines SF.8 每个头文件都要加上
- CppCoreGuidelines SF.7 不要在头文件全局使用 using namespace
- CppCoreGuidelines SF.6 在过渡期,基础的库可以用 using namespace,而其他则限制在局部范围使用
- CppCoreGuidelines SF.5 一个 .cpp 文件必须包含为其定义了接口的头文件
- CppCoreGuidelines SF.4 在其他声明之前包含头文件
- CppCoreGuidelines SF.3 多个源码文件中用到的声明要用放在头文件里
- CppCoreGuidelines SF.2 头文件里不能包含对象定义或非 inline 的函数定义
- CppCoreGuidelines SF.1 如果项目里没有其他约定,请用 .cpp 作为代码文件后缀,.h 作为接口文件后缀
- CppCoreGuidelines CPL.3 如果必须用 C 实现接口,在调用这些接口的时候用 C++
- CppCoreGuidelines CPL.2 如果一定要用 C,用 C 和 C++ 的公共子集,以 C++ 编译 C
- CppCoreGuidelines CPL.1 能用 C++ 的时候就不要用 C
- CppCoreGuidelines T.150 通过 static_assert 检查一个类是否符合某个概念
- CppCoreGuidelines T.144 不要实例化函数模板
- CppCoreGuidelines T.143 不要无心地编写非泛型的代码
- CppCoreGuidelines T.142 用模板变量简化标记符号
- CppCoreGuidelines T.141 如果你在单独一个地方需要一个简单的函数对象,用匿名 lambda
- CppCoreGuidelines T.140 如果某个操作可以重用,赋予它一个名字
- CppCoreGuidelines T.125 如果你需要标准库之外的 TMP 工具,尽量用现有的库
- CppCoreGuidelines T.124 选择使用标准库的模板元编程(TMP)工具
- CppCoreGuidelines T.123 在编译时用 constexpr 函数计算值
- CppCoreGuidelines T.122 用模板(一般是模板别名)在运行时计算类型
- CppCoreGuidelines T.121 主要用模板元编程模拟 concept 机制
- CppCoreGuidelines T.120 只有真的需要的时候,才使用模板元编程
- CppCoreGuidelines T.103 不要用可变参数模板处理同类的参数列表
- CppCoreGuidelines T.102 如何处理可变参数模板的参数
- CppCoreGuidelines T.101 如何传递参数给可变参数模板
- CppCoreGuidelines T.100 如果需要接受多个不同类型的参数,可以用可变模板参数
- CppCoreGuidelines T.84 用非模板的内核实现提供 ABI 稳定的接口
- CppCoreGuidelines T.83 不要声明成员函数为模板虚函数
- CppCoreGuidelines T.82 如果不需要虚函数,请使用线性的派生层级
- CppCoreGuidelines T.81 不要混用层级和数组
- CppCoreGuidelines T.80 不要把类层级模板化
- CppCoreGuidelines T.69 在模板里,不要调用无限定的非成员函数,除非你有意以其作为定制点
- CppCoreGuidelines T.68 为避免混淆,在模板中用 {} 不要用 ()
- CppCoreGuidelines T.67 通过特例化提供非正则类型的不同实现
- CppCoreGuidelines T.65 通过标签分派机制提供函数的不同实现
- CppCoreGuidelines T.64 实例化提供了模板类的多个实现
- CppCoreGuidelines T.62 把不相关的类模板成员放进非模板化的基类中
- CppCoreGuidelines T.61 不要过度把成员参数化
- CppCoreGuidelines T.60 减少模板上下文依赖关系
- CppCoreGuidelines T.49 如果可以,避免类型抹除
- CppCoreGuidelines T.48 如果你的编译器不支持 concept 那么就用 enable_if 来假装 concept
- CppCoreGuidelines T.47 高可见度的未限定的模板,避免用常见名字
- CppCoreGuidelines T.46 要求模板参数至少是半正则的
- CppCoreGuidelines T.44 用函数模板推演出模板参数类型(尽可能的)
- CppCoreGuidelines T.43 用 using 来定义别名,避免用 typedef
- CppCoreGuidelines T.42 用模板别名简化代码,隐藏实现细节
- CppCoreGuidelines T.41 只在模板概念中要求最基本的属性
- CppCoreGuidelines T.40 通过函数对象传递操作符给算法
- CppCoreGuidelines T.26 最好用使用形式来定义概念,而不要用简单的语法
- CppCoreGuidelines T.25 避免互补的约束
- CppCoreGuidelines T.24 通过 tag 标签类或 traits 区分语义不同的概念
- CppCoreGuidelines T.23 通过添加新的使用模式扩展通用的概念
- CppCoreGuidelines T.22 为概念规定自明之公理
- CppCoreGuidelines T.21 在概念中规定一组操作操作符号
- CppCoreGuidelines T.20 避免添加无意义的 concept
- CppCoreGuidelines T.13 对于简单单类型模板,建议使用简短格式
- CppCoreGuidelines T.12 最好用 concept,不要用 auto 或局部变量
- CppCoreGuidelines T.11 尽量使用标准的 concept
- CppCoreGuidelines T.10 对每个模板参数指定 concept
- CppCoreGuidelines T.5 根据各自的优势组合泛型和 OO 技术
- CppCoreGuidelines T.4 用模板表达语法树操作
- CppCoreGuidelines T.3 用模板表达容器和值域
- CppCoreGuidelines T.2 用模板表达哪种适用于多种数据类型的算法
- CppCoreGuidelines T.1 通过模板提升代码抽象层次
- CppCoreGuidelines Con.5 用 constexpr 修饰编译时可以计算的变量
- CppCoreGuidelines Con.4 用 const 定义哪些构造之后不会修改值的对象
- CppCoreGuidelines Con.3 默认传递指向常量的指针和引用给函数
- CppCoreGuidelines Con.2 请把成员函数默认设置为 const
- CppCoreGuidelines Con.1 默认把对象设置为不可变
- CppCoreGuidelines E.31 妥善编排 catch 语句的顺序
- CppCoreGuidelines E.30 不要使用异常规格说明
- CppCoreGuidelines E.28 避免基于全局状态的错误处理(比如 errno)
- CppCoreGuidelines E.27 如果无法抛出异常,请有系统的使用错误码
- CppCoreGuidelines E.26 如果无法抛出异常,请考虑快速结束
- CppCoreGuidelines E.25 如果无法抛出异常,请模拟 RAII 资源管理
- CppCoreGuidelines E.19 如果没有合适的资源管理句柄,请使用 final_action 进行资源清理
- CppCoreGuidelines E.18 减少 try/catch 语句显式的使用
- CppCoreGuidelines E.17 不要在每个函数中捕获所有异常
- CppCoreGuidelines E.16 析构、释放、交换、异常类型的复制/移动构造函数不可以失败
- CppCoreGuidelines E.15 抛出异常,以引用的方式从层级结构中捕获异常
- CppCoreGuidelines E.14 用用户定义的设计类型作为异常(不要用内置类型)
- CppCoreGuidelines E.13 对象的直接保管者不可抛出异常
- CppCoreGuidelines E.12 如果通过抛出异常结束一个函数是不可能或不可接受的话,使用 noexcept 标签
- CppCoreGuidelines E.8 申明你的后置条件
- CppCoreGuidelines E.7 申明的前提条件
- CppCoreGuidelines E.6 用 RAII 避免内存泄漏
- CppCoreGuidelines E.5 让构造函数构建不变式,如果不能构建,抛出异常
- CppCoreGuidelines E.4 不要围绕不变式设计出错处理策略
- CppCoreGuidelines E.3 只用异常处理出错情况
- CppCoreGuidelines E.2 用抛出异常作为信号说明函数无法处理分配给它的任务
- CppCoreGuidelines E.1 在设计之初就先确定错误处理策略
- CppCoreGuidelines CP.201 关于信号
- CppCoreGuidelines CP.200 只用 volatile 访问非 C++ 的内存
- CppCoreGuidelines CP.111 如果需要双次检查锁,请使用常用的设计模式
- CppCoreGuidelines CP.110 不要自己写双次检查锁的初始化代码
- CppCoreGuidelines CP.102 仔细研读以下文献
- CppCoreGuidelines CP.101 不要相信你的硬件/编译器组合
- CppCoreGuidelines CP.100 除非你确定需要,尽量不要用无锁编程
- CppCoreGuidelines CP.61 通过 async() 生成同步任务
- CppCoreGuidelines CP.60 用 future 从并行任务返回值
- CppCoreGuidelines CP.53 协程的参数不能通过引用传递
- CppCoreGuidelines CP.52 不要在线程挂起的地方保留锁或者其他同步原语
- CppCoreGuidelines CP.51 协程的 lambda 中不要进行捕获
- CppCoreGuidelines CP.50 互斥锁与其保护的数据同时定义,尽可能用 synchronized_value
- CppCoreGuidelines CP.44 给 lock_guard, unique_lock 声明变量
- CppCoreGuidelines CP.43 减少关键代码执行路径中时间的消耗
- CppCoreGuidelines CP.42 在 wait 中设置判断条件
- CppCoreGuidelines CP.41 减少线程的创建和销毁
- CppCoreGuidelines CP.40 减小上下文切换
- CppCoreGuidelines CP.32 在不关联的线程间共享所有权用 shared_ptr
- CppCoreGuidelines CP.31 在线程间传递少量数据的时候,用值传递,不要用引用或指针
- CppCoreGuidelines CP.26 不要分离线程
- CppCoreGuidelines CP.25 gsl::joining_thread 比 std::thread 好
- CppCoreGuidelines CP.24 把一个线程当作是全局的容器
- CppCoreGuidelines CP.23 把 joining_thread 当作一个带作用域范围的容器
- CppCoreGuidelines CP.22 保有一个锁的时候不要调用未知代码
- CppCoreGuidelines CP.21 用 std::lock() 或 std::scoped_lock 获取多个互斥锁
- CppCoreGuidelines CP.20 用 RAII, 不要用基础的 lock()/unlock()
- CppCoreGuidelines CP.9 尽量用工具验证并行计算代码
- CppCoreGuidelines CP.8 不要通过 volatile 进行同步处理
- CppCoreGuidelines CP.4 以任务为视角考虑问题,而不是线程
- CppCoreGuidelines CP.3 尽量减少可写数据的显式共享
- CppCoreGuidelines CP.2 避免数据竞争
- CppCoreGuidelines CP.1 预先假定代码会是多线程程序的一部分
- CppCoreGuidelines Per.30 避免在时间关键路径上切换程序上下文
- CppCoreGuidelines Per.19 以可推断的方式访问内存
- CppCoreGuidelines Per.18 空间即是时间
- CppCoreGuidelines Per.17 在性能关键的数据结构中,先声明最常用的成员
- CppCoreGuidelines Per.16 使用紧凑的数据结构
- CppCoreGuidelines Per.15 不要在性能关键分支上申请分配内存
- CppCoreGuidelines Per.14 尽量减少内存分配释放的数量
- CppCoreGuidelines Per.13 避免重复的间接访问
- CppCoreGuidelines Per.12 避免重复的别名
- CppCoreGuidelines Per.11 把计算从运行时转移到编译时
- CppCoreGuidelines Per.10 依托于类型系统进行自动优化
- CppCoreGuidelines Per.7 设计之初就要考虑优化
- CppCoreGuidelines Per.6 没有测量不要声明性能
- CppCoreGuidelines Per.5 底层代码不一定比高层代码快
- CppCoreGuidelines Per.4 复杂代码并不一定比简单代码快
- CppCoreGuidelines Per.3 非性能关键之处,无需优化
- CppCoreGuidelines Per.2 不要过早的进行优化
- CppCoreGuidelines Per.1 没有理由不要优化
- CppCoreGuidelines ES.107 不要用无符号类型做下标,使用 gsl::index
- CppCoreGuidelines ES.106 避免赋值负数给无符号类型
- CppCoreGuidelines ES.105 不要除以整数 0
- CppCoreGuidelines ES.104 避免向下溢出
- CppCoreGuidelines ES.103 不要产生溢出
- CppCoreGuidelines ES.102 数值计算用有符号类型
- CppCoreGuidelines ES.101 在进行比特位操作的时候用无符号类型
- CppCoreGuidelines ES.100 有符号、无符号类型不要混合在一起计算
- CppCoreGuidelines ES.87 不要在判断条件中添加多余的 == 或 !=
- CppCoreGuidelines ES.86 不要在 for 循环内修改循环控制变量
- CppCoreGuidelines ES.85 要很容易识别出空语句
- CppCoreGuidelines ES.84 不要声明匿名局部变量
- CppCoreGuidelines ES.79 只用 default 处理共用的逻辑
- CppCoreGuidelines ES.78 不要在 switch 语句中使用默认向下执行机制
- CppCoreGuidelines ES.77 在循环中尽量少用 break 和 continue
- CppCoreGuidelines ES.76 避免 goto
- CppCoreGuidelines ES.75 避免 do 语句
- CppCoreGuidelines ES.74 最好在 for 循环的初始语句中定义循环变量
- CppCoreGuidelines ES.73 如果循环变量不明显,则 while 比 for 更恰当
- CppCoreGuidelines ES.72 如果明显有一个循环变量,for 比 while 语句更好
- CppCoreGuidelines ES.71 首选带范围的 for
- CppCoreGuidelines ES.70 如果有的选,选择 switch 语句,而不要选择 if 语句
- CppCoreGuidelines ES.64 用 T{e} 方式进行构造
- CppCoreGuidelines ES.63 不要进行对象切片
- CppCoreGuidelines ES.62 不要在不同数组间比较指针
- CppCoreGuidelines ES.61 用 delete[] 删除数组,用 delete 删除非数组
- CppCoreGuidelines ES.60 避免在资源管理函数外调用 new 和 delete
- CppCoreGuidelines ES.56 只有需要显式的把对象移动到另一个作用域范围时才用 std::move()
- CppCoreGuidelines ES.55 避免范围检测
- CppCoreGuidelines ES.50 不要强制类型转换掉 const
- CppCoreGuidelines ES.49 如果需要强制类型转换,可以用带名字的转换
- CppCoreGuidelines ES.48 避免类型转换
- CppCoreGuidelines ES.47 用 nullptr,不要用 0 或 NULL
- CppCoreGuidelines ES.46 避免那些导致精度损失的变窄、截断数值类型转换
- CppCoreGuidelines ES.45 避免“魔数”,用符号常量
- CppCoreGuidelines ES.44 代码的正确与否不应该基于函数参数的求值顺序
- CppCoreGuidelines ES.43 避免求值顺序未定义的表达式
- CppCoreGuidelines ES.42 确保指针的使用简单明了
- CppCoreGuidelines ES.41 如果不确定操作符优先级,添加括号
- CppCoreGuidelines ES.40 避免复杂的表达式
- CppCoreGuidelines ES.34 不要定义 C 风格的可变长参数的函数
- CppCoreGuidelines ES.33 如果必须用到宏,请使用独一无二的名字
- CppCoreGuidelines ES.32 宏名字要全部大写字母
- CppCoreGuidelines ES.31 不要用宏定义常量或“函数”
- CppCoreGuidelines ES.30 避免用宏进行程序代码文本操作
- CppCoreGuidelines ES.28 使用 lambda 初始化复杂对象,尤其是常变量
- CppCoreGuidelines ES.27 栈中数组用 std::array 或 stack_array
- CppCoreGuidelines ES.26 不要把变量用于多个目的
- CppCoreGuidelines ES.25 把对象声明为 const 或 constexpr,除非之后要修改
- CppCoreGuidelines ES.24 使用 unique_ptr
管理指针 - CppCoreGuidelines ES.23 首选 {} 花括号初始化语法
- CppCoreGuidelines ES.22 不要在没有能用的初始值之前声明变量
- CppCoreGuidelines ES.21 不要在需要使用之前引入一个变量或常量
- CppCoreGuidelines ES.20 确保对象总是被初始化
- CppCoreGuidelines ES.12 不要在嵌套作用域内重用变量名
- CppCoreGuidelines ES.11 使用 auto 避免重复的类型名
- CppCoreGuidelines ES.10 一个声明语句只声明一个变量
- CppCoreGuidelines ES.9 避免全大写的命名
- CppCoreGuidelines ES.8 避免似是而非的名字
- CppCoreGuidelines ES.7 常见局部变量名尽量短,不常见非局部变量名可稍长
- CppCoreGuidelines ES.6 在 for 语句的初始化和条件判断处声明变量,限制变量范围
- CppCoreGuidelines ES.5 小作用域范围
- CppCoreGuidelines ES.3 不要重复、避免多余
- CppCoreGuidelines ES.2 请使用适当的抽象机制
- CppCoreGuidelines ES.1 相比非标准库和自己编写代码,首选标准库
- CppCoreGuidelines R.37 不要以指针或引用的方式传递智能指针的别名
- CppCoreGuidelines R.36 用 const shared_ptr
& 参数表明函数会保留对象的引用计数 - CppCoreGuidelines R.35 使用 shared_ptr
& 参数表示函数会重座共享指针 - CppCoreGuidelines R.34 用 shared_ptr 参数表示共享所有权
- CppCoreGuidelines R.33 用 unique_ptr
& 参数表示函数会重座该 widget - CppCoreGuidelines R.32 用 unique_ptr 参数标明函数接收指针的所有权
- CppCoreGuidelines R.31 如果要非标准库的智能指针,请遵循标准库的设计模式
- CppCoreGuidelines R.30 只有在需要表达生存周期机制的时候使用智能指针
- CppCoreGuidelines R.24 用 std::weak_ptr 打破 shared_ptr 循环
- CppCoreGuidelines R.23 用 make_unique 创建 unique_ptr
- CppCoreGuidelines R.22 用 make_shared 创建 shared_ptr
- CppCoreGuidelines R.21 最好用 unique_ptr,除非有共享所有权的需要,则用 shared_ptr
- CppCoreGuidelines R.20 用 unique_ptr 或 shared_ptr 表达所有权
- CppCoreGuidelines R.15 重载匹配的分配/释放函数对
- CppCoreGuidelines R.14 用 span 做参数,不要用 []
- CppCoreGuidelines R.13 一个表达式中只显式地分配一个资源
- CppCoreGuidelines R.12 对于直接分配的资源,立即用一个对象管理起来
- CppCoreGuidelines R.11 避免直接调用 new 和 delete
- CppCoreGuidelines R.10 避免使用 malloc() 和 free()
- CppCoreGuidelines R.6 避免使用全局变量
- CppCoreGuidelines R.5 首选带作用域的对象,避免不必要的堆分配
- CppCoreGuidelines R.4 原始引用是无主的
- CppCoreGuidelines R.3 原始指针是无主的
- CppCoreGuidelines R.2 在接口中,只用原始指针表示独立的对象
- CppCoreGuidelines R.1 通过资源句柄和 RAII 自动管理资源
- CppCoreGuidelines Enum.8 需要的时候才指定枚举项的值
- CppCoreGuidelines Enum.7 只有必要的时候才指定枚举项的数据类型
- CppCoreGuidelines Enum.6 不要用没名字的枚举类型
- CppCoreGuidelines Enum.5 不要使用全大写的枚举
- CppCoreGuidelines Enum.4 为了安全且简单的使用,基于枚举值定义操作
- CppCoreGuidelines Enum.3 用 enum class,而不要用普通枚举
- CppCoreGuidelines Enum.2 使用枚举来表示一组相关的常量
- CppCoreGuidelines Enum.1 用枚举不要用宏
- CppCoreGuidelines C.183 不要使用 union 实现类型双关
- CppCoreGuidelines C.182 使用匿名 union 实现带标签的 union
- CppCoreGuidelines C.181 避免裸露的 union
- CppCoreGuidelines C.180 用 union 节省内存
- CppCoreGuidelines C.170 如果你想要重载一个 lambda,请使用泛型 lambda
- CppCoreGuidelines C.168 在操作对象的名字空间中定义重载的操作符
- CppCoreGuidelines C.167 按照约定习俗使用操作符
- CppCoreGuidelines C.166 只有作为智能指针和引用的系统部分的时候重载一元操作符 &
- CppCoreGuidelines C.165 在客制化处使用 using
- CppCoreGuidelines C.164 避免隐式的转换操作
- CppCoreGuidelines C.163 只重载大体相似的操作符
- CppCoreGuidelines C.162 重载大致相似的函数
- CppCoreGuidelines C.161 对称操作符用非成员函数实现
- CppCoreGuidelines C.160 操作符函数要模仿习惯用法
- CppCoreGuidelines C.153 首选虚函数,其次类型转换
- CppCoreGuidelines C.152 不要把派生类的数组指针赋值给基类指针
- CppCoreGuidelines C.151 用 make_shared() 创建 shared_ptr
- CppCoreGuidelines C.150 使用 make_unique() 构建 unique_ptr
- CppCoreGuidelines C.149 new 对象的时候,用 unique_ptr 或 shared_ptr,避免忘记删除对象
- CppCoreGuidelines C.148 用 dynamic_cast 转换指针时,无法找到要转换的类型时,不会抛出异常,可以进行分支判断
- CppCoreGuidelines C.147 用 dynamic_cast 转换引用的时候,如果无法转换,就会认为出错了,抛出异常
- CppCoreGuidelines C.146 不可避免要在类的继承层级之间切换时,使用 dynamic_cast
- CppCoreGuidelines C.145 通过指针或引用访问多态对象
- CppCoreGuidelines C.140 不要提供不同的默认参数给虚函数和重写的函数
- CppCoreGuidelines C.139 少用 final
- CppCoreGuidelines C.138 通过 using 在派生类中重载基类的函数
- CppCoreGuidelines C.137 使用虚基类避免过于通用的基类
- CppCoreGuidelines C.136 用多重继承表达属性实现的集合
- CppCoreGuidelines C.135 使用多重继承来表达多重不同的接口
- CppCoreGuidelines C.134 确保非const的成员数据有同级别的访问层级
- CppCoreGuidelines C.133 避免使用 protected 数据
- CppCoreGuidelines C.132 不要不明所以的将一个函数设置为虚的
- CppCoreGuidelines C.131 避免使用细枝末节的 getter 和 setter
- CppCoreGuidelines C.130 多态类的深拷贝,建议使用虚clone函数,而不要用公开的拷贝构造赋值函数
- CppCoreGuidelines C.129 设计类层级时,请区分实现继承与接口继承
- CppCoreGuidelines C.128 必须指定虚函数为 virtual, override 或 final
- CppCoreGuidelines C.127 有虚函数的类应该也要有虚的或保护的析构函数
- CppCoreGuidelines C.126 抽象类一般不需要编写构造函数
- CppCoreGuidelines C.122 如果接口和实现要彻底分开,请使用抽象类作为接口
- CppCoreGuidelines C.121 如果基类用来表示接口,请将其设为纯抽象类
- CppCoreGuidelines C.120 用类层级表示具有层级继承结构的概念
- CppCoreGuidelines C.109 如何一个资源句柄有指针的语义,提供 * 和 -> 操作
- CppCoreGuidelines C.104 赋予容器一个默认构造函数构造一个空容器
- CppCoreGuidelines C.103 赋予容器初始化列表构造函数
- CppCoreGuidelines C.102 赋予容器移动操作
- CppCoreGuidelines C.101 赋予容器一种数值语义
- CppCoreGuidelines C.100 参考 STL 实现容器类
- CppCoreGuidelines C.90 用构造函数和赋值函数,不要用 memset 和 memcpy
- CppCoreGuidelines C.89 Hash 函数不可抛出异常
- CppCoreGuidelines C.87 注意基类的 == 操作
- CppCoreGuidelines C.86 == 操作应该是对称的,且 noexcept
- CppCoreGuidelines C.85 swap 函数应是 noexcept 的
- CppCoreGuidelines C.84 swap 函数不可运行失败
- CppCoreGuidelines C.83 对于值类型,考虑提供 noexcept 的 swap 函数
- CppCoreGuidelines C.82 不要在构造/析构函数中调用虚函数
- CppCoreGuidelines C.81 如果不想要默认行为,用 =delete 去掉
- CppCoreGuidelines C.80 如果要明确使用默认机制,请添加 =default
- CppCoreGuidelines C.67 一个多态类应该隐藏公开的赋值和移动操作
- CppCoreGuidelines C.66 移动操作应是 noexcept
- CppCoreGuidelines C.65 确保可以安全的自己赋值给自己
- CppCoreGuidelines C.64 移动操作应该移动,并确保留下的数据状态有效
- CppCoreGuidelines C.63 移动赋值操做不能是虚的,接收 && 参数,返回引用变量
- CppCoreGuidelines C.62 拷贝赋值操作要能安全的自赋值
- CppCoreGuidelines C.61 赋值拷贝操作须拷贝
- CppCoreGuidelines C.60 拷贝赋值/复制赋值不可为虚,且以 const& 为参数,以 非 const& 为结果
- CppCoreGuidelines C.52 用继承的构造函数为子类导入构造函数,从而无需重复初始化成员变量
- CppCoreGuidelines C.51 把类里通用的构造部分放到一个共用构造函数里
- CppCoreGuidelines C.50 如果初始化阶段需要一些虚行为,可以用工厂函数
- CppCoreGuidelines C.49 在构造函数中进行初始化操作,不要进行赋值操作
- CppCoreGuidelines C.48 对于初始化为常量的成员,用类内成员初始化方法
- CppCoreGuidelines C.47 按照成员变量的声明顺序进行初始化
- CppCoreGuidelines C.46 默认的,声明单参数构造函数为显式的
- CppCoreGuidelines C.45 如果只是初始化数据成员变量,不需要定义默认构造函数,用类内成员初始式即可
- CppCoreGuidelines C.44 默认构造函数尽量简单且不要抛出异常
- CppCoreGuidelines C.43 可拷贝的类要有默认的构造函数
- CppCoreGuidelines C.42 如果构造函数不能构造一个有效对象,抛出一个例外
- CppCoreGuidelines C.41 构造函数须创建初始化完全的对象
- CppCoreGuidelines C.40 如果类中有固定结构,为其定义一个构造函数
- CppCoreGuidelines C.37 把析构函数标注为 noexcept
- CppCoreGuidelines C.36 析构函数不许执行失败抛出异常
- CppCoreGuidelines C.35 基类的析构函数须为public且virtual,或protected且非virtual
- CppCoreGuidelines C.33 如果类拥有指针成员的所有权,则须定义析构函数
- CppCoreGuidelines C.32 考虑类是否可以拥有其成员原始指针和引用
- CppCoreGuidelines C.31 类获取的所有资源必须在析构函数中释放
- CppCoreGuidelines C.30 如果某个类需销毁某特定对象,请定义析构函数
- CppCoreGuidelines C.22 保持一致的默认操作函数
- CppCoreGuidelines C.21 复制、移动和析构函数要同时定义或同时删除
- CppCoreGuidelines C.20 尽量不去修改类的默认操作
- CppCoreGuidelines C.12 类的成员数据不可为 const 或引用
- CppCoreGuidelines C.11 编写常规的具体类型
- CppCoreGuidelines C.10 具体类比层级继承好
- CppCoreGuidelines C.9 尽量隐藏成员数据
- CppCoreGuidelines C.8 如果有不公开的成员,请使用 class,不要用 struct
- CppCoreGuidelines C.7 不要定义类和枚举的同时声明变量
- CppCoreGuidelines C.5 类的帮助函数跟类放在相同的名字空间里
- CppCoreGuidelines C.4 成员函数直接访问类的内部数据
- C++ 函数的统一调用格式
- CppCoreGuidelines C.3 用类区别接口与实现
- CppCoreGuidelines C.2 如果数据结构里面有一些不变要素,用 class,如果成员变量可以互相独立修改,用 struct
- CppCoreGuidelines C.1 把相关数据整理到数据结构中(struct/class)
- CppCoreGuidelines F.56 避免不必要的嵌套条件判断
- CppCoreGuidelines F.55 规避 va_arg
- CppCoreGuidelines F.54 如果要在 lambda 里捕获 this 或成员变量,不要用 [=]
- CppCoreGuidelines F.60 如果参数可以是空的话, T* 比 T& 更合适
- CppCoreGuidelines F.53 如果不在 lambda 内局部使用,包括返回、存入堆、传给其他线程,则不要在 lambda 中捕获引用
- CppCoreGuidelines F.52 在 lambda 中捕获引用,可局部使用,或传给 STL 算法
- CppCoreGuidelines F.51 首选默认参数,其次函数重载
- CppCoreGuidelines F.50 当不能用函数实现的时候(使用局部变量,写局部函数),使用 lambda
- CppCoreGuidelines F.49 不要返回 const T
- CppCoreGuidelines F.48 不要这样写 return std::move(local)
- CppCoreGuidelines F.47 赋值操作符返回 T&
- CppCoreGuidelines F.46 main() 的返回值类型是 int
- CppCoreGuidelines F.45 不要返回 T&&
- CppCoreGuidelines F.44 在不需要复制且无需返回空对象的时候返回引用 T&
- CppCoreGuidelines F.43 不要(直接或间接)返回指向局部对象的指针或引用
- CppCoreGuidelines F.42 返回 T* 表示一个内存地址
- CppCoreGuidelines F.27 用 shapred_ptr
共享所有权 - CppCoreGuidelines F.26 用 unique_ptr
传递指针所有权 - CppCoreGuidelines F.25 用 zstring 或 not_null
表示 C 风格字符串 - CppCoreGuidelines F.24 用 span
或 span_t 表示半开序列 - CppCoreGuidelines F.23 用 not_null
表示“null”是无效的 - CppCoreGuidelines F.22 用 T* 或 owner
表示单个对象 - CppCoreGuidelines F.21 如果要返回多个值,可以返回一个结构
- CppCoreGuidelines F.20 如果需要输出结果,值返回比出参更好
- CppCoreGuidelines F.19 要“完美转发”参数,通过 TP&& 传递参数,只用 std::forward 转发参数
- CppCoreGuidelines F.18 要移动的参数,通过 X&& 传递,并用 std::move 移动
- CppCoreGuidelines F.17 输入输出参数,通过非 const 引用传递
- CppCoreGuidelines F.16 入参:复制成本低的用值传递;其他用 const 引用
- CppCoreGuidelines F.15 首选简单、常规的方式传递信息
- CppCoreGuidelines F.11 如果只是需要一个简单的函数,可以用未命名的 lambda
- CppCoreGuidelines F.10 如果是一个可复用的操作,给它设置个名字
- CppCoreGuidelines F.9 不用给没有用到的参数命名
- CppCoreGuidelines F.8 首选纯函数
- CppCoreGuidelines F.7 一般情况使用 T* 或 T&,不要使用智能指针
- CppCoreGuidelines F.6 如果函数不能抛出异常,声明为 noexcept
- CppCoreGuidelines F.5 把时延敏感的小函数声明为 inline
- CppCoreGuidelines F.4 如果函数可以在编译期计算出结果,可以声明为 constexpr
- CppCoreGuidelines F.3 函数要短小、简洁
- CppCoreGuidelines F.2 一个函数只处理一个逻辑操作
- CppCoreGuidelines F.1 把一组相关的操作封装成仔细命名的函数
- CppCoreGuidelines I.30 把违背规则的操作封装隔离起来
- CppCoreGuidelines I.27 对于稳定库 ABI,考虑用 Pimpl 封装
- CppCoreGuidelines I.26 如果需要跨编译器的 ABI,使用 C 风格子集
- CppCoreGuidelines I.25 用空抽象类作为类层级的接口
- CppCoreGuidelines I.24 避免相邻参数类型一样的情况下,交换其顺序,意义却不同
- CppCoreGuidelines I.23 函数参数的数量不要太多
- CppCoreGuidelines I.22 避免对全局对象进行复杂的初始化
- CppCoreGuidelines I.13 不要以单独指针传递数组
- CppCoreGuidelines I.12 用 not_null 声明不能为 null 的指针
- CppCoreGuidelines I.11 切不可通过原始指针(T*)或引用(T&)转移所有权
- CppCoreGuidelines I.10 使用异常
- CppCoreGuidelines I.9 如果是模板接口,用 concept 编写参数文档
- CppCoreGuidelines I.8 用 Ensures() 表达后置条件
- CppCoreGuidelines I.7 声明后置条件
- CppCoreGuidelines I.6 用 Expects() 表达前置条件
- CppCoreGuidelines I.5 尽量声明输入值的前置条件
- CppCoreGuidelines I.4 精确强化接口的类型
- CppCoreGuidelines I.3 避免使用单例模式
- CppCoreGuidelines I.2 避免使用全局变量
- CppCoreGuidelines I.1 接口定义要清晰明确
- CppCoreGuidelines P.13 选用适当的库
- CppCoreGuidelines P.12 选用适当的工具
- CppCoreGuidelines P.11 通过封装整理混乱代码
- CppCoreGuidelines P.10 能用不可变数据就不用可变数据
- CppCoreGuidelines P.9 不要浪费计算时间和计算空间
- CppCoreGuidelines P.8 资源不可泄漏
- CppCoreGuidelines P.7 尽早捕获运行时错误
- CppCoreGuidelines P.6 不能在编译时检查的,要能在运行时检查
- CppCoreGuidelines P.5 编译时检查比运行时检查好
- CppCoreGuidelines P.4 理想情况下,程序应该要静态类型安全
- CppCoreGuidelines P.3 明确地表达程序的意图
- CppCoreGuidelines P.2 用 ISO C++ 标准写代码
- CppCoreGuidelines P.1 直接地用代码表达编程设计理念
OPCUA
IoT
Latin
- 单词本:per diems
- 单词本:sine qua non
- 单词本:nonchalant
- 单词本:excruciatingly
- 单词本:triumvirate
- 单词本:de facto
- 单词本:modus operandi
- 单词本:impromptu
- 单词本:oxymoronic
- 单词本:deviate
- 单词本:taurus
- 单词本:concur
- 单词本:impetus
- 单词本:status quo
- 单词本:circumscribe
- 单词本:inter alia
- 单词本:argumentum ad ignorantiam
- 单词本:a priori
- 单词本:surreptitious
- 单词本:in situ
- 单词本:primus inter pares
- 单词本:pro forma
- 单词本:quid pro quo
- 单词本:ad hominem
SOA
cybersecurity
cpp
nostr
programming
- babashka 函数库之路径判断函数
- babashka 函数库之文件路径和属性函数
- 依赖倒置原则,Dependence Inversion Principle,DIP
- 接口隔离原则,Interface Segregation Principle,ISP
- 利斯科夫替代原则,Liskov substitution principle,LSP
- 开放封闭原则,Open–closed principle,OCP
- C++17 string_view
- 单一责任原则,Single-responsibility principle,SRP
- SOLID 原则
SOLID
C++
blockchain
opcua
LaTeX
agile
SAFe
math
German
statistics
- 假设检验 Hypothesis Testing 之双样本 t 检验
- 假设检验 Hypothesis Testing 之关于 μ 检验
- 单边假设检验 One-Tailed Hypothesis Testing
- 假设检验 Hypothesis Testing
l6s
- 假设检验 Hypothesis Testing 之双样本 t 检验
- 假设检验 Hypothesis Testing 之关于 μ 检验
- 单边假设检验 One-Tailed Hypothesis Testing
- 假设检验 Hypothesis Testing