初始化

Effective C++ 学习笔记

别等时光非礼了梦想. 提交于 2020-03-08 13:46:07
1. 基础部分 Item 1: View C++ as a federation of languages. 对于内建类型,按值传递优于按引用传递,对于自定义类型则相反。 C++可视为4中子语言的联合:C,Object-Oriented C++,Template C++和STL。 Item 2: Prefer consts, enums, and inlines to #defines. 只有整型常量可以在类声明里面初始化: class Klass { const static int num = 1 ; //也可只声明,在定义文件中,即类外部定义、初始化; }; enum类型也可以在类内部初始化。 Item 3: Use const whenever possible. 对于指针p,const在 * 左边时,p指向的值为常量,const出现在 * 右边时,p指向的地址为常量。 const int * p1 ; int const * p2 ; int * const p3 ; ​ //以上代码,p1和p2一样,其指向的值为常量;p3指向的地址为常量 如果类Klass有同名的两个成员函数foo,其中一个为const类型,那么const实列优先调用const版的foo。 const函数不能改变非static的成员变量。 mutable修饰的成员,在const函数中也可以改变其值。

C++: 变量和基本类型要点小结

时光怂恿深爱的人放手 提交于 2020-03-08 12:58:26
文章目录 列表初始化 声明与定义 名字的作用域 引用 空指针 auto类型说明符 decltype类型说明符 列表初始化 int a = 0 ; int a = { 0 } ; int a ( 0 ) ; int a { 0 } ; 形如 a{} 的成为列表初始化,当使用{}且存在丢失信息风险的时候,编译器会报错,例如 long double d = 3.1415926 ; int e { d } ; // 报错 int f ( d ) ; // 不报错 声明与定义 变量声明规定了变量的类型和名字,定义在此基础上还申请存储空间 变量只能被定义一次,但是可以被多次声明 extern int i ; //声明而非定义i int j ; //声明且定义j 名字的作用域 函数体之外定义:全局作用域 函数体之内定义:块作用域 允许在内层定义域 重新定义 外层已有的名字 引用 引用并非对象,他只是已有对象的别名 空指针 - C: NULL C++: nullptr auto类型说明符 不知道具体类型,可以通过初始值推断,因此 auto 定义的变量必须有初始值 decltype类型说明符 选择并返回操作数的数据类型,例如 int a = 10 ; decltype ( a ) b = 4 ; // b是int类型 来源: CSDN 作者: AmarisEx 链接: https://blog

结构体

本小妞迷上赌 提交于 2020-03-08 12:16:12
结构体 一、结构体类型与结构体变量的定义 使用结构体表示数据: 1.定义结构体类型 2.定义结构体类型的变量 3.引用结构体变量的各成员变量 相比简单的变量的定义,这一过程需要先自定义结构体类型。 注: 1.结构定义并不预留内存,它只是一个模板 2.结构定义放置在程序的开始部分,位于头文件声明之后。 3结构定义仅描述了一个结构的形式。如果要在程序里使用结构,需要声明结构变量。 定义结构之后,声明变量。 声明变量的形式: ①先定义结构,再声明结构变量: struct student { int num ; char name [ 20 ] ; float score ; } ; struct student student1 , student2 ; ②在定义结构类型的同时声明结构变量: struct student { int num ; char name [ 20 ] ; float score ; } ; student1 , student2 ; ③直接声明结构变量: struct { int num ; char name [ 20 ] ; float score ; } ; student1 , student2 ; 嵌套结构及引用: 结构体类型的成员也可以是另一个结构体类型 二、结构体类型变量成员的引用 引用结构体类型变量成员的一般形式: 结构体类型变量名.成员名--

VC++ COMBO BOX控件的使用

痴心易碎 提交于 2020-03-08 11:11:07
1.你在编辑状态下点那个控件的向下的三角形,就出冒出来一个可以调高度的东东。将高度调高,否则在执行时会不能显示下拉选项。 2.为combo box添加选项,在编辑状态下选combo box控件的属性,选Data标签,在编辑框中添加选项,按Ctrl-Enter来添加下一个选项。 3.为combo box添加变量 combo box有两个变量,CComboBox类变量和CString变量。 CComboBox变量用来设置combo box的属性,一般在cdialog类中的oninitdialog()函数中使用。添加方法是在classwizard中添加变量,添加时Category中选Control。例如:CComboBox.SetCurSel(0)用来设置下拉菜单初始值,具体看MSDN。 CString变量用来存储下拉菜单所选的选项值。同样,当选项发生变化时要使用UpdateData(TRUE)函数更新该变量的值。 ----------------------------------------------------------------------------------------------------------------- 一、初始化Combo Box控件 (1)在资源视图中,选择控件的"Properties",然后在Data选项卡里为控件添加初始化数据,换行是按Ctrl

ros机器人编程实践(15.1)- 使用科大讯飞语音控制turtlebot导航

落花浮王杯 提交于 2020-03-08 09:49:22
一、安装 语音识别安装参考文章: 安装教程 二、准备工作 如果没有安装turtlebot3的话需要先进行安装,可以参考我前面的博客: 传送门 2.1 机器人位置初始化 本节博客要做的是利用科大讯飞的开源语音识别来导航turtlebot,也是展示服务机器人最基本的功能之一吧,那么要做到人工智能,像我在《ros机器人编程实践(7)》中写的使用rviz的 2D pose Estimate 来人工标定机器人在rviz中的初始位置显然是不合理的,所以首先编写脚本初始化位置,然后加入到启动rviz的launch文件中。 2.1.1 查看初始化位置的话题详情 启动仿真环境: roslaunch turtlebot3_gazebo turtlebot3_world.launch 启动rviz: roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file: = $HOME /map.yaml 查看turtlebot的所有话题: rostopic list 虽然我英文不咋好,但是还是看懂了 /initialpose 哈哈哈哈~ ok查看这个话题的详情: rostopic info /initialpose [1]消息类型是 Type: geometry_msgs/PoseWithCovarianceStamped [2

SpringBoot学习笔记(二)

心已入冬 提交于 2020-03-08 09:48:58
一、SpringBoot自动配置原理 Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件,将该配置文件中的配置载入到Spring容器。 相当于它自动默认已经写好了常用的配置,只需我们直接调用即可。 该配置文件是在SpringApplication这个核心类被加载时,进行初始化 初始化时会去获取核心工厂的设置 获取到各种设置,初始化成对象,也就是java配置 由此可见,获取的便是它默认配置好的文件 二、底层常用注解解析 @ConditionalOnClass 条件注解,当存在注解后的类的时候,被注解表示的类才会去实例化 @ConditionalOnMissingBean 条件注解,当容器中没有该bean情况下 还有很多类似的,这里就不一一举例了,判断存在,是为了确保Spring能够稳定运行,判断不存在,是为了在没有进行特殊配置时,才去加载默认的配置。 三、开发时对应的一些配置 当我们想要自定义配置时,只需要继承他原有的java配置文件,对其配置方法进行重写即可,可以自定义的配置自己所需,例如:自定义拦截器,自定义消息转化器等等。 以上便是自己对Springboot的全部学习总结,新手小白,还往多多指教。 来源: CSDN 作者: 吃着火歌唱着锅 链接: https://blog.csdn.net

搭建神经网络2

亡梦爱人 提交于 2020-03-08 09:37:32
两层简单神经网络-----前向传播 1、前向传播就是搭建模型的计算过程,让模型具有推理能力,可以针对一组输入给出相应的输出。 2、推导 神经网络共有几层(或当前是第几层网络)都是指的计算层,输入不是计算层,所以a为第一层网络,a是一个一行三列矩阵。 我们把每层输入乘以线上的权重w,这样用矩阵可以计算出y了。 a=tf.matmul(X,W1) y=tf.matmul(a,W2) 3、实现 由于需要计算结果,就要用with结构实现,所有变量初始化过程、计算过程都要放到sess.run函数中。对于变量初始化,我们在sess.run中写入 tf.global_variable_initializer 实现对所有变量初始化,也就是赋初值。对于计算图中的运算,我们直接把运算节点填入sess.run即可,比如要计算y,直接写sess.run(y)即可。 在实际应用中,我们可以一次喂入一组或多组输入,让神经网络计算输出y,可以先用 tf.placeholder 给输入占位。如果一次喂一组数据,shape的第一维位置写1,第二维位置要看有几个输入特征;如果一次喂多组数据,shape的第一维位置可以写None表示先空着,第二维位置写有几个输入特征。这样在feed_dict中可以喂入若干组体积重量了。 4、举例 这是一个实现神经网络前向传输过程,网络可以自动推理出输出y的值。 1

c++系列文章(11):多维数组

人盡茶涼 提交于 2020-03-08 09:32:12
  严格来说, C++语言中没有多维数组,通常所说的多维数组其实是数组的数组 。当一个数组的元素仍然是数组时,通常使用两个维度来定义它:一个维度表示数组本身大小,另一个维度表示其元素(也是数组)大小。 int ia [ 3 ] [ 4 ] ; //大小为3的数组,每个元素是含有4个整数的数组 int arr [ 10 [ 20 [ 30 ] = { 0 } ; //大小为10的数组,其个元素是大小为20的数组,这些数组的袁术是含有30个整数的数组,并将虽有元素初始化为0 多维数组的初始化   允许使用花括号括起来的一组值初始化多维数组。 int ia [ 3 ] [ 4 ] = { { 0 , 1 , 2 , 3 } , //第一行的初始值 { 4 , 5 , 6 , 7 } , //第二行的初始值 { 8 , 9 , 10 , 11 } , //第三行的初始值 } int ia [ 3 ] [ 4 ] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 } ; //没有标识每行的花括号,与上面的初始化语句等价   在初始化多维数组时并非所有元素的值都必须包含在初始化列表之内。 int ia [ 3 ] [ 4 ] = { { 0 } , { 4 } , { 8 } } ; //显式初始化每行的首元素

华为云服务器初始化配置

时光毁灭记忆、已成空白 提交于 2020-03-08 08:01:30
云服务器的使用者越来越多. 做服务器的企业也越来越多. 阿里云,腾讯云,华为云...等等. 之前一直使用阿里云的服务器. 看到华为开始做云服务器这块. 价格方面相对便宜. 就体验一下. 刚好官方有体验活动. 可是万万没想到.华为云的服务器配置好麻烦. 起码我作为用户,感觉并不像阿里云那样简单直接.(购买完云服务器,就可以直接通过SSH来登录操作了) 本文只是做一个记录而已.在操作阿里云的时候遇到两个问题. 1 . ping 不通 IP . 2 . SSH 无法使用. 此操作在阿里云是开放的. 而华为云将其关闭. 要手动开放. (我想表达的只是麻烦一点.但是华为云的这种方式对于用户来讲,可能更多选择,比如 : 不可以Ping. 登录需要使用 SSHKey 的方式 等 ) 我在官方没有找到合适的教程. 只能寻求客服帮忙. 花了一些时间. 问题解决 : 1 . Ping 不通 IP . 打开此功能方式 : 进入 华为企业云 . - 管理控制台 - 虚拟私有云 ( 注意 : 在上方选择服务器区域 如 : 华中,华北,华东 ) 进入虚拟私有云后,点击安全组. 如图 : 点击你对应服务器的安全组. 如下图 : 添加规则 , 协议选择 ICMP 即可 , 如图 :    确认后,你当前的安全组就多了一个协议 ICMP . 现在就可以 Ping 你服务器的外网IP了. 2 . SSH 无法使用 .

nginx代码分析--启动流程

一笑奈何 提交于 2020-03-08 07:43:52
nginx代码分析--启动流程 一、 nginx的编译安装 1. configure时干的事 根据configure后面跟的参数,解析auto文件夹下的文件生成Makefile文件。 2. 编译时干的事 ngx_modules.c文件是在编译过程中生成的,里面定义了ngx_modules[]模块数组,包含了哪些模块。 (安装及配置可以参考) http://www.cnblogs.com/geekma/archive/2012/07/28/2612951.html 二、 nginx启动流程 1. 模块相关 ngx_conf_s::module_type 有四种类型 : NGX_CORE_MODULE, NGX_EVENT_MODULE, NGX_HTTP_MODULE, NGX_MAIL_MODULE。 ngx_conf_s::cmd_type 有十一种类型: NGX_MAIN_CONF, NGX_EVENT_CONF, NGX_HTTP_MAIN_CONF, NGX_HTTP_SRV_CONF, NGX_HTTP_LOC_CONF, NGX_HTTP_LMT_CONF, NGX_HTTP_SIF_CONF, NGX_HTTP_LIF_CONF, NGX_HTTP_UPS_CONF, NGX_MAIL_MAIN_CONF, NGX_MAIL_SRV_CONF。 2. 一些数据结构