2024-9-22

main
bai 2024-09-22 22:02:11 +08:00
parent 9a86ddb43e
commit 018958de15
3 changed files with 94 additions and 6 deletions

71
c++.tex
View File

@ -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<int>(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}

View File

@ -10,7 +10,7 @@
% Title Page
\title{学习笔记}
\author{baikaishui}
\author{行走的芦苇}
\begin{document}

View File

@ -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}