C++笔记 之 基础回顾(一)
1 exe 程序
aaarticlea/png;base64,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" alt="" width="506" height="82" />
1.1 最小 cpp
int main(){} // minimal cpp
思考一: 为什么最小程序没有 return 语句?
1.2 Hello
#include <iostream> int main()
{
std::cout << "Hello!\n";
}
思考二: \n 和 std::endl 的区别是什么?
1.3 函数
#include <iostream> double Square(double x)
{
return x*x;
} void PrintSquare(double x)
{
std::cout << "The square of " << x << " is "<< Square(x) << '\n';
} int main()
{
PrintSquare(1.21);
}
思考三: Square 有必要写成模板函数么?
2 类型、变量和运算
2.1 定义
声明 (declaration): a statement that introduces a name into the program. It specifies a type for the named entity
类型 (type): (为对象) 定义了一系列可能 值(value) 和一系列 操作(operations)
值 (value): a set of bits interpreted according to a type.
aaarticlea/png;base64,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" alt="" />
2.2 对象和变量
对象 (object): some memory that holds a value of some type
变量 (variable): a named object
2.3 初始化
等号 "=" 属于 C 语言, C++ 中尽量用 {}-list
double d1 = 2.3;
double d2 {2.3}; complex<double> z = ; // a complex number with double-precision floating-point scalars
complex<double> z2 {d1,d2};
complex<double> z3 = {,}; // the = is optional with {...}
vector<int> v {,,,,,}; // a vector of ints
c++11 的 auto
auto b = true; // a bool
auto ch = 'x'; // a char
auto i = ; // an int
auto d = 1.2; // a double
auto z = sqrt(y); // z has the type of whatever sqrt(y) returns
尽量使用 auto,除非如下:
1) in a large scope where we want to make the type clearly visible to readers of our code.
2) be explicit about a variable’s range or precision (e.g., double rather than float ).
3 常量
3.1 const 和 constexpr
const,意思是 “承诺不改变其值”,常用来指定 “接口” (interfaces), 这样 数据 可以传递给 函数 而本身不被修改,编译器通过 const 关键字来保证这种承诺的执行。
const int dmv = ; // dmv is a named constant
int var = ; // var is not a constant
constexpr double max1 = 1.4∗Square(dmv); // OK if square(17) is a constant expression
constexpr double max2 = 1.4∗Square(var); // error : var is not a constant expression
const double max3 = 1.4∗Square(var); // OK, may be evaluated at run time
constexpr :meaning roughly ‘‘to be evaluated at compile time’’. This is used primarily to specify constants, to allow placement of data in memory where it is unlikely to be corrupted, and for performance.
double sum(const vector<double>&); // sum will not modify its argument
vector<double> v {1.2, 3.4, 4.5}; // v is not a constant
const double s1 = sum(v); // OK: evaluated at run time
constexpr double s2 = sum(v); // error : sum(v) not constant expression
3.2 constexpr function
For a function to be usable in a constant expression, that is, in an expression that will be evaluated by the compiler, it must be defined constexpr
constexpr double Square(double x) { return x∗x; }
To be constexpr , a function must be rather simple: just a return -statement computing a value.
A constexpr function can be used for non-constant arguments, but when that is done the result is not a constant expression.
4 控制语句
4.1 if 语句
bool Accept()
{
cout << "Do you want to proceed (y or n)?\n"; // write question char answer = ;
cin >> answer; // read answer if(answer == 'y') return true;
return false;
}
4.2 switch 语句
bool Accept2()
{
cout << "Do you want to proceed (y or n)?\n"; // write question char answer = ;
cin >> answer; // read answer switch(answer) {
case 'y':
return true;
case 'n':
return false;
default:
cout << "I will take that for a no.\n";
return false;
}
}
4.3 while 语句
bool Accept3()
{
int tries = ;
while(tries < ){
cout << "Do you want to proceed (y or n)?\n"; // write question
char answer = ;
cin >> answer; // read answer switch(answer) {
case 'y':
return true;
case 'n':
return false;
default:
cout << "Sorry, I don't understand that.\n";
++tries; // increment
}
}
cout << "I'll take that for a no.\n";
return false;
}
5 指针和数组
5.1 [] 和 *
[ ] 等于 ‘‘array of’’, ∗ 意思是 ‘‘pointer to’’
char v[]; // array of 6 characters
char∗ p; // pointer to character
前缀 ∗ 是取内容, 前缀 & 是取地址
char∗ p = &v[]; // p points to v’s fourth element
char x = ∗p; // *p is the object that p points to
aaarticlea/png;base64,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" alt="" />
T a[n]; // T[n]: array of n Ts
T∗ p; // T*: pointer to T
T& r; // T&: reference to T
T f(A); // T(A): function taking an argument of type A returning a result of type T
5.2 拷贝和输出
拷贝一个数组的元素到另一个数组
void CopyFct()
{
int v1[] = {, , , , , , , , , };
int v2[]; for(auto i=; i!=; ++i) // copy elements
v2[i] = v1[i];
}
将 v 中每一个元素的值 , 拷贝给 x 并显示其输出。
void Print()
{
int v[] = {, , , , , , , , , }; for(auto x : v) // range-for 的形式一
std::cout << x << '\n'; // for every element of v, from the first to the last, place a copy in x and print it for(auto x : {, , , , })
std::cout << x << '\n';
}
5.3 引用
void Increment()
{
int v[] = {, , , , , , , , , }; for(auto &x : v) // range-for 的形式二
++x;
}
后缀 & 意思是 ‘‘reference to’’,类似指针,但却不需要一个前缀 ∗ 来访问值
// count the number of occurrences of x in p[]
// p is assumed to point to a zero-ter minated array of char (or to nothing)
int CountX(char* p, char x)
{
if(p==nullptr) return ;
int count = ;
for(; *p!=; ++p)
if(*p == x)
++count;
return count;
}
其中,nullptr 参见博文 C++11 之 nullptr
参考资料:
<C++ Programming Language_4th>
C++笔记 之 基础回顾(一)的更多相关文章
- 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)
注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...
- C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)
一:值类型和引用类型的含义参考前一篇文章 C#学习笔记(基础知识回顾)之值类型和引用类型 1.1,C#数据类型分为在栈上分配内存的值类型和在托管堆上分配内存的引用类型.如果int只不过是栈上的一个4字 ...
- C#学习笔记(基础知识回顾)之值传递和引用传递
一:要了解值传递和引用传递,先要知道这两种类型含义,可以参考上一篇 C#学习笔记(基础知识回顾)之值类型和引用类型 二:给方法传递参数分为值传递和引用传递. 2.1在变量通过引用传递给方法时,被调用的 ...
- C#学习笔记(基础知识回顾)之值类型和引用类型
一:C#把数据类型分为值类型和引用类型 1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用. 1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上.存 ...
- 深度学习word2vec笔记之基础篇
作者为falao_beiliu. 作者:杨超链接:http://www.zhihu.com/question/21661274/answer/19331979来源:知乎著作权归作者所有.商业转载请联系 ...
- Quartz学习笔记:基础知识
Quartz学习笔记:基础知识 引入Quartz 关于任务调度 关于任务调度,Java.util.Timer是最简单的一种实现任务调度的方法,简单的使用如下: import java.util.Tim ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
随机推荐
- [ASP.NET MVC 小牛之路]14 - Unobtrusive Ajax
Ajax (Asynchronous JavaScript and XML 的缩写),如我们所见,这个概念的重点已经不再是XML部分,而是 Asynchronous 部分,它是在后台从服务器请求数据的 ...
- EF:自定义Oracle的映射类型
oracle在DB First模式下,int类型的字段会自动映射为decmial类型的属性. 我们可以通过自定义类型映射进行“纠整”. 在app.config 自定义映射规则: <oracle. ...
- Js toString()方法笔记
一.前言 toString()用于将该对象以字符串(string)的形式返回,该方法属于Object对象;也就是说对象都能够使用此方法. 之前所接触的是array.toString()数组转换为字符串 ...
- DataGrid中的常用属性
DataGrid中的常用属性 $('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',w ...
- Android开发-之数据的存储方式一
在Android中,数据的存储分为两种方式: 1.直接以文件的形式存储在目录中 2.以json格式存储在数据库中 将数据以文件的存储又分为两种方式: 1.生成.txt文件 2.生成xml文件 那么今天 ...
- MySQL 查看表结构简单命令
一.简单描述表结构,字段类型 desc tabl_name; 显示表结构,字段类型,主键,是否为空等属性,但不显示外键. 例如:desc table_name 二.查询表中列的注释信息 select ...
- OPEN CASCADE Curve Continuity
OPEN CASCADE Curve Continuity eryar@163.com Abstract. 设计一条复杂曲线时,出于设计和制造上的考虑,常常通过多段曲线组合而成,这就需要解决曲线段之间 ...
- 深入理解脚本化CSS系列第一篇——脚本化行内样式
× 目录 [1]用法 [2]属性 [3]方法 前面的话 脚本化CSS,通俗点说,就是使用javascript来操作CSS.引入CSS有3种方式:外部样式,内部样式和行间样式.本文将主要介绍脚本化行间样 ...
- Android sendevent/getevent 用法
前言:最近在弄一个模拟用户点击屏幕的功能,并且不需要用户点击屏幕,后台自动给输入框赋值,类似pc端按键精灵的功能,在网上找了很多人的资料,写的都不是太详细,一知半解.还要自己慢慢研究.于是我这边写一篇 ...
- csapp2e-chapter2-homework
一 前言 看了csapp2e第二章,感觉讲的很透彻,理解了一些以前学组成原理没有学懂的东西.这章最让我感觉深刻的还是计算机是怎么实现c语言中的基本数据类型的表示和操作的,这对程序员理解程序无疑是帮助巨 ...