`
lmyessential
  • 浏览: 30244 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

C++学习笔记5 ---表达式

    博客分类:
  • C++
阅读更多

如果两个操作数为正,除法(/)和求模(%)操作的结果也是正数(或零),而求模操作的结果则为负数(或零);如果只有一个操作数为负数,这两种操作的结果取决于机器,求模结果的符号也取决于机器,而除法操作的值则是负数(或零)
21%6 =3
21%7 =0
-21 % -8 =-5
21 % -5 = //machine dependent: result is 1 or -4
21 /6 = 3;
21 /7 =3;
-21 / -8 = 2;
21 / -5 = //machine dependent: result -4 or -5
出于性能的考虑,只有在必要时才使用后置操作符
//sizeof(ia) /sizeof(*ia) returns the numbers
//of elements in ia
int sz = sizeof(ia) / sizeof(*ia);
//oops! language does not define order of
// evaluation
if ( ia[index++] < is[index] )
复合表达式的处理处理原则:
(1) 如果有怀疑,则在表达式上按程序逻辑要求来使用圆括号强制操作数的组合。
(2) 如果要修改操作数的值,则不要在同一个语句的其他地方使用该操作数。如果必须使用改变的值,则把该表达式分割成两个独立语句:在一个语句中改变该操作数的值,再在下一个语句使用它。(*++iter类似的 情况例外)
以一种安全而且独立于机器的方式重写上述比较两个数组元素的程序:
if (ia[index] < ia[index+1])
//statements
}
++index;
正如我们(几乎)总是要初始化定义为变量的对象一样,在动态创建对象时,(几乎)总是对它做初始化也是一个好办法。
一旦删除了指针所指向的对象,立即将指针置为0,这样就非常清楚地表明指针不再指向任何对象。

分享到:
评论

相关推荐

    Effective Modern C++学习笔记

    《Effective Modern C++:改善C++11和C++14的42个具体做法(影印版)(英文版)》中包括以下主题:剖析花括号初始化、noexcept规范、完美转发、智能指针make函数的优缺点;讲解std∷move,std∷forward,rvalue引用和全局...

    C++学习笔记.pdf

    数组声明时,元素个数必须是常量表达式 数组声明带有初始化,则可直接为数组赋值 在数组声明时,必须指明数组长度,若在声明时候初始化,数组长度可省 int a1[2]={100,200}; 长度2 int a2[] = {5,6,7}; 长度3

    正则表达式学习笔记

    正则表达式学习笔记,内容详细容易操作,sqlserver java js c++

    正则表达式学习资料(初学者)

    超级有用的正则表达式学习笔记,适合初学者!

    C++ Primer Plus学习笔记之二

    C++ Primer Plus 第六章分支语句和逻辑操作符的笔记 用例子阐释了 逻辑表达式,问号操作符,switch语句,break和continue以及文件简单...学习笔记系列博客地址:http://blog.csdn.net/zmdsjtu/article/category/6371626

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    Java 基础学习笔记:数据类型,常见运算,final &amp;amp; static,Java 常见类,异常 &amp;amp; 反射

    Java 基础学习笔记,主要包括: 10_Java常见对象.md 10_Java常见对象_2.md 1_数据类型.md 3_运算.md 4_Object通用方法.md 5_关键字.md 6_反射.md 8_泛型.md JDK8新特性.md 正则表达式.md Java是一种面向对象的编程...

    leetcode合法表达式-CPP_Practice:本仓库是面向C/C++技术方向的基础知识总结,包括语言、程序库、数据结构、算法、系统、网

    leetcode合法表达式 :open_book: Github    |    简体中文    |    :light_bulb: 关于 :books: 本仓库是面向 C/C++ 技术方向的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等...

    超强的指针精讲学习笔记

    一。指针的概念 二。指针的算术运算 三。运算符&和* 四。指针表达式 五。数组和指针的关系

    Matlab学习笔记.rar

    MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 MATLAB是matrix&laboratory两个词的组合,意为...

    免费下载:C语言难点分析整理.doc

    44. 指针与数组学习笔记 222 45. 数组不是指针 224 46. 标准C中字符串分割的方法 228 47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-为什么会...

    史上最强的C语言资料

    44. 指针与数组学习笔记 222 45. 数组不是指针 224 46. 标准C中字符串分割的方法 228 47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-为什么会...

    C语言难点分析整理.doc

    44. 指针与数组学习笔记 222 45. 数组不是指针 224 46. 标准C中字符串分割的方法 228 47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-...

    c语言难点分析整理,C语言

    44. 指针与数组学习笔记 222 45. 数组不是指针 224 46. 标准C中字符串分割的方法 228 47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-为什么会...

    高级C语言 C 语言编程要点

    44. 指针与数组学习笔记 222 45. 数组不是指针 224 46. 标准C中字符串分割的方法 228 47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-为什么会...

    高级进阶c语言教程..doc

    44. 指针与数组学习笔记 222 45. 数组不是指针 224 46. 标准C中字符串分割的方法 228 47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-为什么会...

    高级C语言详解

    44. 指针与数组学习笔记 222 45. 数组不是指针 224 46. 标准C中字符串分割的方法 228 47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-为什么会...

    C语言难点分析整理

    44. 指针与数组学习笔记 222 45. 数组不是指针 224 46. 标准C中字符串分割的方法 228 47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-为什么会...

    c++基础教程,简洁扼要

    适合新手的教程,我自己也在学,以下是部分学习笔记 69 函数指针 70 动态内存分配 Dynamic memory pointer = new type pointer = new type [elements] 第一个表达式用来给一个单元素的数据类型分配内存。第二个...

    MFC计算器c++编写

    利用表达式后缀表达式计算结果,适用于初次学习c++的同学们,代码量有点多,看起来比较头疼,很多可能看不懂,大多数是结构是书上的

Global site tag (gtag.js) - Google Analytics