From 018958de154779f1d0118496a3503fe1156a79c5 Mon Sep 17 00:00:00 2001 From: bai Date: Sun, 22 Sep 2024 22:02:11 +0800 Subject: [PATCH] 2024-9-22 --- c++.tex | 71 +++++++++++++++++++++++++++++++++++++++++++++++++--- fenbushi.tex | 2 +- zaji.tex | 27 +++++++++++++++++++- 3 files changed, 94 insertions(+), 6 deletions(-) diff --git a/c++.tex b/c++.tex index 77abd18..d30eb35 100644 --- a/c++.tex +++ b/c++.tex @@ -80,11 +80,74 @@ switch语句括号中值必须是整型、字符型或枚举类型。特别的 程序设计的本质:不断地寻找更简单的方法。 +大多数程序设计概念是通用的,而很多这种概念被流行的程序设计语言所广泛支持。 + +声明(declaration)将名字引入作用域,其作用是:一是为命名实体指定一个类型;二(可选)是进行初始化。大致来说,一个声明定义了一些功能的使用方式,也就是,定义了函数、变量或类的接口。如果一个声明给出了声明实体的完整描述的话,我们称之为定义(definition)。定义是声明,但声明不是定义。这两者的区别反映出“如何使用一个实体(接口)”与“这个实体如何完成它应该做的事情”之间的根本区别。 + +很多愚蠢的错误都是在很忙或疲倦的时候发生的。 + +C++不允许我们对内置类型设置默认初始化功能,全局变量会被默认初始化为0,但应少使用全局变量。最常使用的变量--局部变量和类成员--是不会被初始化的,除非你对它进行初始化。 + +一个变量的作用域越大,名字就应该越长,越有描述性。 + +?:结构称作算术if(arithmetic if )或条件表达式(conditional expression) + +形式参数:formal argument;参数:parameter + +在函数声明中,形参的名字不是必需的,只是对于编写好的注释很有益处。 + +参数使用的基本原则: +\begin{itemize} + \item 使用传值方式传递非常小的对象 + \item 使用传常量引用方式传递不需修改的大对象 + \item 让函数返回一个值,而不是修改通过引用参数传递来的对象 + \item 只有迫不得已时才使用传引用方式 +\end{itemize} + +实际参数:actual argument + +尽量作用显示转换:\verb|static_cast(x)| + +当一个函数被调用时,编译器分配一个数据结构,保存所有参数和局部变量的拷贝,这样的数据结构称为函数活动记录(function activation record),每个函数的活动记录都有自己特有的详细布局。 + +递归(recursive) + +活动记录栈(stack of activation record);调用栈(call stack) + +一个constexpr函数和普通函数行为相同,但若在需要一个常量的位置处使用它,则有所不同,此时若传递的参数是常量表达式,则计算在编译时完成。为使该机制可行,要求constexpr函数必须非常简单。在C++11中,函数体只有包含一条return 语句;在C++14中,还可以写简单的循环语句。 + +一段代码中,创建变量的顺序与销毁的顺序相反。 + +\textcolor{red}{\verb|v[++i]=i|}是有很大的问题:不同的编译器不一定给出警告,不同的优化方法产生的结果可能不同,不能保证赋值符左边的子表达式一定先于右边的计算。 +\begin{verbatim} + //file1 + int x1 = 1; + int y1 = x1+2 + + //file2 + extern int y1; + int y2 = y1 + 2; +\end{verbatim} +这段代码的问题是:使用了全局变量;全局变量名字太短;全局变量使用了复杂的初始化。\par +\begin{verbatim} + const Data& default_date() + { + static const Deat dd(1970,1,2); + } +\end{verbatim} +一个静态的局部变量只在首次调用时才被初始化;使用引用,消除了不必要的对象拷贝;使用常量引用,可以防止调用者无意中改变对象的值。 - - - - +\section{编码错误} +\begin{verbatim} + double my_abs(int x) +{ + if (x < 0) + return -x; + else if (x > 0) + return x; +} +\end{verbatim} +这种情况下,当$x=0$会返回无效值 \end{document} diff --git a/fenbushi.tex b/fenbushi.tex index 4f0dad5..a8036f5 100644 --- a/fenbushi.tex +++ b/fenbushi.tex @@ -10,7 +10,7 @@ % Title Page \title{学习笔记} -\author{baikaishui} +\author{行走的芦苇} \begin{document} diff --git a/zaji.tex b/zaji.tex index e73b019..e1f2c1c 100644 --- a/zaji.tex +++ b/zaji.tex @@ -1,6 +1,7 @@ \documentclass[a4paper,12pt]{report} \usepackage[utf8]{inputenc} \usepackage[UTF8]{ctex} +\usepackage{xcolor} %\setmainfont{Noto Serif CJK SC} %\setmainfont{FangSong} \setmainfont{SimSun} @@ -17,12 +18,25 @@ \begin{abstract} \end{abstract} + +有三件事需要去做,一是把重新学习一下数学知识,并应用到工作和生活中;二是健身,毕竟身体是革命的本钱;三是照顾好家人。 \chapter{生活} +用了半年(3.21--9.21)的时间,把体重稳定在66.6左右。身体轻松了许多,不用再背着30斤的五花肉走路或跑步了。脂肪肝消失了。血压由128/78降至106/68,不知道这是啥情况,问医生也没有说出个所以然了,顺其自然吧。耳鸣基本上消失了,在疲惫的时候还是会响,但已经好多了,听力也改善了许多。黑头发也长出来了,下一步主要是观察一下白头发是否减少,如果能够减少,说明现在的健身方法是正确的。更重要的是心理和情绪调整的还算顺利,可以静下心来读读书,看看论文或代码。只要不做亏心的事就行了,做个好的观众看别人表演,也有许多乐趣。 + +越来越喜欢慢的节奏,不用再应付差事,不用再着急完成任务,可以静下心来思考一下,逐步把相关点的关系思虑清楚。 \section{健身} 一吸就提,气气归脐;一提就咽,水火相见。\par 一呼一吸,通乎气机;一动一静,通乎造化。 + + 2024.9.19 今天试了下面墙下蹲,马马虎虎完成了三个。继续尝试。 + +2024.9.21 后背好像通了一些,不那么痛了。现在主要堵在胸部和头部。每天都要出大量的汗,不知什么时候改善。 + +2024.9.22 今天骑行了60公里,沿着杨家镇-丰谷镇-剑南路路线骑行一圈,感觉比以前轻松多了,时间也节省了不少。以前看到坡心里就发怵,现在倒是喜欢挑战带有坡度的路线。爬坡时可以慢慢体会力量由腰胯经膝关节传递到脚底的感觉,骑到坡顶有种成就感,这大概就是分泌內酚酞的效应吧。 \chapter{git} +git add .命令把所有文件都加进去了,目前采用 git add *.tex ,另一解决方案是编辑.gitignore文件,还没试。 + \chapter{cmake} 自动递归设计变量名 @@ -46,5 +60,16 @@ $\grave{e}$ \v{e} \`{e} \end{verbatim} -\textcolor{red}{this si test} + +颜色设置:\textcolor{red}{红色},其他颜色包括:green blue cyan yellow orange violet purple brown black darkgray gray lightgray lime olive pink teal + +\typeout{提示内容,但不编译} + +书签中的类型及其含义: cha 章书签 sec 节书签 fig 插图书签 tab 表格书签 equ 公式书签 text 文本书签 exe 示例书签 def 定理书签 + +\begin{quotation} + 引用文本\par + \raggedleft--作者 +\end{quotation} + \end{document}