初始化

[No000018A]改善C#程序的建议11-20

别说谁变了你拦得住时间么 提交于 2020-04-03 18:32:04
建议11:区别对待 == 和Equals CLR中将“相等性”分为两类: 1、值相等性:两个变量包含的数值相等。 2、引用相等性:两个变量引用的是内存中的同一个对象。 但并不是所有的类型的比较都是按照其本身,比如string是一个特殊的引用类型,但是在FCL中,string的比较就被重载为针对“类型的值”的比较,而不是“引用本身”的比较。对于自定义类型来说,如果想要实现这样的值比较而不是引用比较的话,则需要重载Equals方法,比如对于Person类,如果IDCode相同,我们可以认为他们是同一个人。 class Person { public string IDCode { get; private set; } public Person(string idCode) { this.IDCode = idCode; } public override bool Equals(object obj) { return IDCode == (obj as Person).IDCode; } } 此时通过Equals去比较的话,则就会通过重载后的方法来进行了。 object a = new Person("ABC"); object b = new Person("ABC"); Console.WriteLine(a == b); //False Console.WriteLine

u-boot-1.1.6第2阶段入口函数start_armboot分析

妖精的绣舞 提交于 2020-04-03 17:58:10
学习目标: 1、分析u-boot-1.1.6第2阶段入口函数void start_armboot (void),熟悉该函数所实现的功能 2、为后面能够掌握u-boot-1.1.6如何启动内核过程打下基础 前面通过对uboot第一阶段代码的分析,我们了解的uboot第一阶段所做的一些工作,并且找到了其第二阶段的入口函数void start_armboot(void)。为了能够在清楚理解uboot启动内核的机制,还需要对第二阶段代码进行分析。第二阶段入口函数void start_armboot(void)存放在board.c文件中,该文件位于uboot根目录下的lib_arm文件夹中。 1.gd_t数据结构分配内存 /* Pointer is writable since we allocated a register for it */ gd = (gd_t*)(_armboot_start - CFG_MALLOC_LEN - sizeof(gd_t)); //为gd_t结构体变量开辟空间 /* compiler optimization barrier needed for GCC >= 3.4 */ //并使得gd指针指向该空间初始位置 __asm__ __volatile__("": : :"memory"); memset ((void*)gd, 0, sizeof (gd

为anaconda的jupyter notebook设置初始化目录

安稳与你 提交于 2020-04-03 17:03:14
在使用jupyter进行编程时,初始化目录可能不是自己想要的目录,那么下面讲解修改成自己想要的目录。 1) 在命令行中输入jupyter notebook --generate-config,会产生一个配置文件   我的会显示Writing default config to: C:\Users\allen\.jupyter\jupyter_notebook_config.py这样的提示。 2) 找到对应的文件,搜索c.NotebookApp.notebook_dir   将前面的#注释去掉,在后面填上自己想要设置的初始化目录。比如我设置成c.NotebookApp.notebook_dir = u'D:\chengxu\ML'   以后就会将'D:\chengxu\ML'这个目录成为初始化的目录。 来源: https://www.cnblogs.com/zhaopengcheng/p/5987436.html

OC-字符串、数组、字典总结

回眸只為那壹抹淺笑 提交于 2020-04-03 10:22:46
#import <Foundation/Foundation.h> /* ∆以NSMutable开头的都是可变类型,以NSMutable开头定义的对象都是可以对数据进行修改; NSString //不可变字符串 NSMutableString//可变字符串 NSArray// 不可变数组 NSMutableArray//可变数组 NSDictionary//不可变字典 NSMutableDictionary//可变字典 可变的意思是可以对这个类型定义的变量进行修改或者删除操作 */ int main(int argc, const char * argv[]) { @autoreleasepool { /************************* 总结:字符串 **********************************/ //============== NSString =========================== NSString *str = [[NSString alloc] init]; //初始化===================== NSString *str0 = @"Hello World"; NSString *str1 = [[NSString alloc] initWithFormat:@"%@",str0]; /

java 数组初始化

一个人想着一个人 提交于 2020-04-03 07:16:35
一维数组 1) int[] a; //声明,没有初始化 2) int[] a=new int[5]; //初始化为默认值,int型为0 3) int[] a={1,2,3,4,5}; //初始化为给定值 4) int[] a=new int[]{1,2,3,4,5}; //同(3) int[] a=new int[5]{1,2,3,4,5}; //错误,如果提供了数组初始化操作,则不能定义维表达式 5) int[] a; a=new int[5]; //正确,同(2)一样 int[] a; a={1,2,3,4,5}; //错误,数组常量只能在初始化操作中使用,如(3) 6) int a[]; a[0]=1; //错误,因为数组没有初始化,不能赋值 a[1]=2; 二维数组 1) int[][] a; //声明,没有初始化 2) int[][] a=new int[2][3]; //初始化为默认值,int型为0 3) int[][] a={{1,2},{2,3},{3,4}}; //初始化为给定值 int[][] a={{1,2},{2,3},{3,4,5}}; //没有错,数组空间不是连续分配的,所以不要求每一维的大小相同 4) int[][] a=new int[2][]; a[0]=new int[3]; //a[0]其实就是一个数组 a[1]=new int[4]; /

git的基础介绍和使用

末鹿安然 提交于 2020-04-03 00:13:12
git工作原理 git的工作原理还是比较简单的,当我们创建了本地代码仓库后,会在本地代码仓库的根目录中生成一个.git的隐藏文件。 .git为一个文件目录,又叫做版本库。在本地代码仓库文件夹中,除.git目录之外的所有与.git同级的目录及其子目录都叫做工作区。 工作区(Working Directory):仓库文件夹里除.git目录以外的内容 版本库(Repository):.git目录,用于存储记录版本信息    暂缓区(stage)    分支(master):git自动创建的第一个分支    HEAD指针:用于指向当前分支 git add和git commit的原理 git add :把文件修改或者新添加的文件添加到暂存区 git commit :把暂存区的所有内容提交到当前分支 下图就可以解释git add 和 git commit的原理: git常用的命令 0、git init 初始化 1、git add filename.txt 添加要往远程传的文件到一个临时列表 2、git commit -m "xxx" # 说明为啥上传 3、git push origin master # 上传 4、git clone https://github.com/triaquae/Weibo # 克隆远程的项目 5、git status 查看修改结果 6、git log 查看修改过几次

vue环境配置脚手架环境搭建vue工程目录

本秂侑毒 提交于 2020-04-02 17:31:58
首先在初始化一个vue项目之前,我们需要下载node.js,并且安装! 下载地址: nodejs.cn/download 安装完成之后,windows+r 运行命令 cmd 输入node -v 检查是否已经安装成功.如果会显示版本信息,说明安装成功! 现在就可以使用node中的npm包管理器来构建vue项目 第一步,由于npm直接下载资源网速会比较慢,可以用淘宝镜像来代替,运行命令 npm install -g cnpm --registry= https://registry.npm.taobao.org 之后就可以用cnpm 代替npm了 好了,到这开始下载安装vue-cli脚手架 运行命令cnpm install vue-cli -g //全局安装 这时候可以新建一个项目目录文件夹,然后进入该文件夹,shift+右击,可以直接选择运行命令行 然后就是初始化项目了 运行命令vue init webpack 项目名称(vuetest) 回车后可以看到下图 有关项目的基本信息填写,也可以直接回车不填. 到了install vue-router就要开始选择性的了,这里肯定要用到vue-router所以选择y 然后接下来JS语法检测,是否需要.在这里我提醒大家,刚开始我们尽量不要安装它,因为他会给你带来特别多的麻烦.我曾经2秒坑一次,所以选择N 之后默认就行! 接下来看到已经安装成功了

1.6 C之 数组

我怕爱的太早我们不能终老 提交于 2020-04-02 15:42:09
数组 1、为什么需要数组? 数组就是数组成一个组,数组就是一个特定数据类型的变量。 2、如何定义数组? int(数组类型) a[x] ; 数组中元素类型 数组名[数组元素个数] 3、怎么使用数组? 数组定义的时候作为整体定义。但是使用的时候不能作为整体使用,使用时必须拆开使用数组中的各个元素。 譬如:int a[4],使用其中的四个元素,分别用a[0]......a[3],其中[]是数组的标志,[]中的数字叫做数组的下标(index 索引),下表是我们访问各个元素的指引,下表是0,代表数组第一个元素,下表是1,代表数组中的第二个元素。 总结 :数组中的所有元素必须是同一个数据类型,不可能在同一个数组中存储两种数据类型的数。 4、数组的初始化问题 初始化(initinalize,简写为 init),是为了让对象有一个预定的初始状态。 当一个局部变量没有初始化时,他的值是随机的。如果没有注意这个,可能会导致程序出错。解决方案有两个: 第一个,在定义过后明确给他赋值,使用=运算符。 第二个,定义该变量,同时进行初始化。 总结: 1、一般来讲,写代码的同时显示赋值,则两种方式并无优劣差异。但是人会犯错误,所以定义的同时初始化好一点,因为这个定义时候就有了固定值,即便之后忘记显示赋值也不会在成结果是随机的。 2、 一般情况下,定义的同时都将变量初始化为0.局部变量定义同时初始化为0

mysql5.7.26初始化数据库 暗点介绍

六眼飞鱼酱① 提交于 2020-04-02 11:05:49
我们在下载软件,解压到指定目录后 需要先初始化数据库 才能启动进而使用她. 在初始化时 我们需要指定 --initialize 参数 . 初始化以前需要创建 --datadir 参数或者配置 文件 my.cnf 执行如下命令: mysqld --initialize --defaults-file=/opt/mysql/config/my.cnf 会有如下错误 ![](https://s4.51cto.com/images/blog/202004/02/160d2a5e1889abcaaa89ec774e7f2cc3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 原因是因为:参数位置不对导致的错误 mysqld --defaults-file=/opt/mysql/config/my.cnf --initialize 如上命令 可正常初始化数据库. mysql_install_db命令已经舍弃 使用mysqld --initialize 替代 来源: 51CTO 作者: 张marlie 链接: https://blog.51cto.com/8026776

STL中vector的初始化

我与影子孤独终老i 提交于 2020-04-02 07:36:36
vector可用于代替C++中的数组,一般一致认为应该多用vector,因为它的效率更高,而且具备很好的异常安全性。而且vector是STL推荐使用的默认容器,STL中向量是使用数组实现的,因此向量具有顺序表的特点,可以快速随机存取数据。向量是一种数据类型的对象的集合,每个对象根据其位置有一个整数索引值与其对应,类似于数组。 使用向量之前,必须包含相应的头文件: #include<vector> using std::vector 同时也应当注意,vector是一个模板类,而非数据类型。所以在定义对象时必须说明vector保存的对象类型。以下给出一些初始化的例子: 1 vector<int> v; //定义向量对象 2 vector<int> v(v1); //定义向量对象v,并且用v1初始化 3 vector<int> v2(n,i); //定义向量对象v2,包含了n个值为i的元素 4 vector<int> v3(n); //定义向量对象v3,其中包含了n个元素值为0的元素 接着介绍一种使用数组初始化向量元素的方式,这种方式在刷题时非常常见,有必要掌握: 1 #include "stdafx.h" 2 #include <stdio.h> 3 #include <string.h> 4 #include <iostream> 5 #include <vector> 6