犯过的错
qq_26726107
这个作者很懒,什么都没留下…
展开
-
无符号数不会小于0,关系到循环的写法
无符号数不会小于0,关系到循环的写法,例如:错误的写法//变量i永远也不会小于0,循环条件一直成立for (unsigned int i = 10; i >= 0; --i){}欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识...转载 2019-01-28 11:39:22 · 1501 阅读 · 0 评论 -
有符号、无符号类型
如果表达式里既有带符号的类型,又有无符号的类型,带符号类型为负时,会出现异常结果,因为带符号数会自动转换无符号数例如:a = -1;b = 1;a*b = 4294967295;与正确结果不符...转载 2019-01-28 11:49:22 · 192 阅读 · 0 评论 -
术语:何为对象
c++程序员们在很多场合都会使用对象这个名词,对象是指一块能存储数据并具有某种类型的内存空间,对象是具有某种数据类型的内存空间,我们使用对象时,并不严格区分是类还是内置类型当对象在创建时获得了一个特定的值,我们说这个对象被初始化初始化的含义是创建变量时赋予其一个初始值赋值的含义是把对象的当前值檫除,而以一个新值来替代...转载 2019-01-28 14:19:32 · 183 阅读 · 0 评论 -
范围for循环
string str("some string")for (auto c : str){ // c的类型是char,每次迭代,str的下一个字符被拷贝给c cout << c << endl; //对于str中的每个字符,输出当前字符}// 使用范围for语句改变字符串中的字符for (auto &c :str){ c = 'a';}...转载 2019-01-29 10:11:32 · 365 阅读 · 0 评论 -
位与、位或、位异或运算符
与(&amp;)、或(|)、异或(^)运算符在两个运算对象上逐位执行相应的逻辑操作unsigned char b1 = 0145 // 01100101unsigned char b2 = 0257; // 10101111 b1 &amp; b2 // 00100101 b1 | b2 // 11101111 b1 ^ b2 // 11001010...转载 2019-01-29 15:54:17 · 909 阅读 · 0 评论 -
初始化 赋值
为了赋予内存中某个地址明确的含义,必须首先知道存储在该地址的数据的类型,类型决定了数据所占的比特数以及该如何解释这些比特的内容。初始化、赋值是两个不同的操作。初始化的含义是创建变量时赋予其一个初始值,赋值的含义是把对象的当前值擦除而以一个新值替代。内置类型的变量未初始化,它的值由定义的位置决定,定义于任何函数体之外的变量都被初始化为0。...转载 2019-02-27 18:25:03 · 833 阅读 · 0 评论