赋值语句

C++笔记(3):一些C++的基础知识点

99封情书 提交于 2020-02-26 23:05:08
前言: 找工作需要,最近看了下一些C++的基本概念,为范磊的 《零起点学通C++》,以下是一些笔记。 内容:   delete p;只是删除指针p指向内存区,并不是删除指针p,所以p还是可以用的。删除空指针所指向内存是可以的。   堆中的变量和对象时匿名的,没有名称,只能通过指针来访问。   在堆中创建对象时,在分配内存的同时会调用类的构造函数,在删除堆中对象时,会调用类的析构函数。   为了避免内存泄露,在删除一个指针后应该将其其值赋为0。   常量指针是指针指向的内存区域地址不能改变,但是该内存地址里保存的值是可以改变的,比如int a; int * const p = &a;   指向常量的指针表示指针指向的对象是不能被修改的,但是该指针可以被修改,即该指针可以指向另一块目标内存地址。比如const int a = 0; const int *p = &a; 如果A是一个类,也可以为const A* p = new A;   而指向常量的常指针表示指针本身不能被修改,其指向的内存地址内容也不能被修改。比如const int a = 0; const int * const p = &a;   引用就是别名常量。   堆中的地址是用指针来操作的,用不到别名。   如果在main函数前面的其它函数的声明和定义是一起的,则表明这个函数是内联函数!因此当该函数较长时

python条件语句和变量赋值

℡╲_俬逩灬. 提交于 2020-02-26 05:53:57
python的条件语句 字符串内变量赋值的方法 name = input("name:") age = int(input("age:")) job = input("job:") salary = input("salary:") info = ''' ---------- info of %s ---------- Name:%s Age:%d Job:%s Salary:%s ''' % (name,name,age,job,salary) info2 = ''' ---------- info of {_name} ---------- Name:{_name} Age:{_age} Job:{_job} Salary:{_salary} ''' .format(_name=name,_age=age,_job=job,_salary=salary) print(info2) if import getpass _username = "asdf" _password = "123" username = input("username:") #password = getpass.getpass("password:") password = input("password:") if _username == username and _password ==

《C# 6.0 本质论》 - 学习笔记

别等时光非礼了梦想. 提交于 2020-02-26 03:21:31
**《C# 6.0 本质论》 ========== ========== ========== [作者] (美) Mark Michaelis (美) Eric Lippert [译者] (中) 周靖 庞燕 [出版] 人民邮电出版社 [版次] 2017年02月 第5版 [印次] 2017年02月 第1次 印刷 [定价] 108.00元 ========== ========== ========== 【前言】 成功学习 C# 的关键在于,要尽可能快地开始编程。不要等自己成为一名理论方面的 “专家” 之后,才开始写代码。 学习一门计算机语言最好的方法就是在动手中学习,而不是等熟知了它的所有 “理论” 之后再动手。 为了从简单程序过渡到企业级开发, C# 开发者必须熟练地从对象及其关系的角度来思考问题。 一名知道语法的程序员和一名能因时宜地写出最高效代码的专家的区别,关键就是这些编码规范。专家不仅让代码通过编译,还遵循最佳实践,降低产生 bug 的概率,并使代码的维护变得更容易。编码规范强调了一些关键原则,开发时务必注意。 总地说来,软件工程的宗旨就是对复杂性进行管理。 【第01章】 (P001) 学习新语言最好的办法就是动手写代码。 (P003) 一次成功的 C# 编译生成的肯定是程序集,无论它是程序还是库。 在 Java 中,文件名必须和类名一致。 从 C# 2.0 开始

JavaScript学习笔记 -- ES6学习(三) 变量的解构赋值

你离开我真会死。 提交于 2020-02-25 12:41:52
1.解构赋值的定义 在ES6中,允许按照一定模式,从数组和对象中提取值(所谓解构),然后对变量进行赋值。 var a = 1; var b = 2; var c = 3; //等价于 var [a, b, c] = [1, 2, 3]; 如果解构不成功,对应的变量就会赋值undefined. let [x, y, ...z] = ['a']; x // "a" y // undefined z // [] 另一种情况是不完全解构,即等号左边的模式,只匹配一部分的等号右边的数组。这种情况下,解构依然可以成功。 let [x, y] = [1, 2, 3]; x // 1 y // 2 let [a, [b], d] = [1, [2, 3], 4]; a // 1 b // 2 d // 4 如果等号的右边不是数组(或者严格地说,不是可遍历的结构),那么将会报错。 // 报错 let [foo] = 1; let [foo] = false; let [foo] = NaN; let [foo] = undefined; let [foo] = null; let [foo] = {}; 只要某种数据结构具有Iterator接口,都可以采用数组形式的解构赋值。 function* fibs() { var a = 0; var b = 1; while (true) { yield

JavaScript基础语法

喜夏-厌秋 提交于 2020-02-23 19:11:12
【使用JS的三种方式】 1、在html标签中,直接使用JS(并不提倡使用): 栗子:<button onclick="alert('我好啊')">点本宝宝</button> 不符合内容与行为分离的要求! 2、在html页面中使用<script></script>包裹JS代码: 栗子:<script type="text/javascript"> JS代码; </script> script标签可以放到页面的任何位置。 3、引入外部的JS文件 <script language="JavaScript" src="JS/01.js" ></script> 【注意事项】 1、<script></script>可以嵌入页面的任意位置。但是,位置的不同会导致JS代码的执行顺序不同; 比如:<script></script>放到<body></body>前面,则JS代码会在页面加载之前执行。 2、引入外部的JS,<script></script>必须是成对出现的标签。而且,标签中不能有任何JS代码。 JS中多行注释。ctrl+shift+/ JS中单行注释。ctrl+/ 【JS中变量】 1、JS中变量申明的写法: var num=1;//使用var申明的变量,属于局部变量,只在当前作用域有效; num=1;//不用var申明的变量,默认为全局变量,在整个JS文件中有效。 var x=1,y=2

part3-1 Python列表和元组(列表和元组常用方法使用,序列封包和解包)

萝らか妹 提交于 2020-02-23 07:51:49
Python中内置的三种常用数据结构:列表(list)、元组(tuple)和字典(dict)。这三种数据结构可用于保存多个数据项,可以保存大量数据。列表和元组是按顺序存放元素,每个元素有自己的索引,可通过索引访问元素,两者的区别在于,元组是不可修改的,列表可以修改。字典以 key-value(键值对)形式保存数据。这三种数据结构是编程中必不可少的内容。一、序列介绍序列是指一种包含多项数据的数据结构,序列包含的多个数据项(也叫成员)按顺序排列,可通过索引来访问成员。常见的序列类型有:字符串、列表、元组。字符串和元组序列类型是不可变的,一旦创建就不能修改其所包含的成员。列表是可变序列,程序可以修改列表序列中的元素。在实际运用时,如果保存固定个数的数据项,而不需要修改时,就应该使用元组。列表创建:使用方括号,元素之间用英文逗号分隔。也可将可迭代对象传递给内置函数list()来创建。元组创建:使用圆括号,元素之间用英文逗号分隔。也可将可迭代对象传递给内置函数tuple()来创建。二、 列表和元组的通用方法只要不涉及到改变元素的操作,列表和元组的用法是通用的。1、 通过索引使用元素列表和元组的索引都是从0开始,第1个元素的索引为0,第2个元素的索引为1,......,以此类推;还可以使用负数索引,倒数第1个元素的索引为-1,倒数第2个元素的索引为-2,......,以此类推

Go语言基础之变量和常量

旧街凉风 提交于 2020-02-22 21:20:31
1 为什么需要变量 联想到现实中,任何事物都是变化的,如果想用程序实现对一个事情的描述,那么久的用一些变化的量去描述这个事情中的一些变化的属性,比如说人类的身高、年龄等,这些量都是随着时间变化的,或者是不同的人用不同身高和年龄。所以说,要使用变量去对这些属性进行描述。 变量是程序的基本组成单位。我们都知道程序都是对数据进行处理,那么这些数据在程序运行的过程就是存储在变量中,在Golang语言中一个变量存储一种类型的数据,程序在每次运行时变量中可能存储的是不相同的数据。 2 Golang变量介绍 2.1 变量的概念 在数学概念中,变量(variable)表示没有固定值且可改变的数。从计算机视角来说,变量相当于内存中一段或多段数据存储空间的表示。可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量(值)。 作为静态类型语言,Go变量总是有固定的数据类型,类型决定了变量内存的长度和存储格式。我们只能修改变量值,无法改变类型。 2.2 变量的使用步骤 声明变量(定义变量) 变量赋值 使用变量 在Golang中,既支持先声明变量,后给变量赋值;又支持在声明变量时给变量赋值。 2.3 关键字var定义变量 用关键字var定义变量 var x int //自动初始化为0 var y = false //自动推断为bool类型 一次定义多个变量 var

ios何时使用self.

好久不见. 提交于 2020-02-22 05:22:23
本文转载至 http://blog.csdn.net/lvxiangan/article/details/27204265 何时使用self.在网上搜索或者论坛里的回复大多都是简简单单的说这与objc的存取方法有关,如何与存取方式有关究竟他们之间的是什么样的关系就很少有同学回答了。下面以代码来说明问题: 创建一个Student类,继承NSObject类,代码: 1: #import <Foundation/Foundation.h> 2: 3: @interface Student : NSObject{ 4: 5: NSString *idd; 6: NSString *name; 7: } 8: @property (nonatomic, retain) NSString *idd; 9: @property (nonatomic, retain) NSString *name; 10: 11: @end .m文件 代码: 1: #import "Student.h" 2: 3: @implementation Student 4: @synthesize idd,name; 5: 6: - (void)dealloc 7: { 8: [idd release]; 9: [name release]; 10: [super dealloc]; 11: } 12: 13: 14:

C++ Primer Plus第6版18个重点笔记

╄→尐↘猪︶ㄣ 提交于 2020-02-21 06:32:43
下面是我看《C++ Primer Plus》第6版这本书后所做的笔记,作为备忘录便于以后复习。 笔记部分 C++的const比C语言#define更好的原因? 首先,它能够明确指定类型,有类型检查功能。 其次,可以使用C++的作用域规则将定义限制在特定的函数或文件中。 第三,可以将const用于更复杂的类型,比如数组和结构。 C语言中也有const,其与C++中const的区别是: 一是作用域规则不同;另一个是,在C++中可以用const值来声明数组长度。 不能简单地将整数赋给指针,如下所示: int *ptr; ptr = 0xB8000000; // type mismatch 在这里,左边是指向int的指针,因此可以把它赋给地址,但右边是一个整数。您可能知道,0xB8000000是老式计算机系统中视频内存的组合段偏移地址,但这条语句并没有告诉程序,这个数字就是一个地址。在C99标准发布之前,C语言允许这样赋值。但C++在类型一致方面的要求更严格,编译器将显示一条错误消息,通告类型不匹配。要将数字值作为地址来使用,应通过强制类型转换将数字转换为适当的地址类型: int *ptr; ptr = (int *) 0xB8000000; // type now match 这样,赋值语句的两边都是整数的地址,因此这样赋值有效。 注意

从零开始学java (运算符,流程控制,数组)

拜拜、爱过 提交于 2020-02-19 05:39:51
运算符   运算符是一种特殊符号,用来表示数据的运算、赋值和比较等。   java中的运算符可分为一下几种:   1.赋值运算符   2.算术运算符   3.比较运算符   4.逻辑运算符   5.位运算符   6.三目运算符(不是三目童子!)   赋值运算符:     java的赋值运算符用作与为变量指定变量值,赋值预算符 符号是 "=" ;           这段程序要从右向左看,计算机是先计算出右边数据,再给左边赋值!   算术运算符:     java的算术运算符比较好理解, 加(+/++)、减(-/--)、乘(*)、除(/)、求余(%) /** * 运算 * @author GMZ *  */ public class Computations { public static void main(String[] args) { //这一步先不管 Computations c = new Computations(); //声明并给变量赋值 double num_a = 5.2; double num_b = 3.1; System.out.println(c.plus(num_a,num_b));//相加 8.3 System.out.println(c.reduce(num_a,num_b));//相减 2.1 System.out.println(c.except