c++.net学习笔记
Notes for c++ learning
程序根据什么特征来区分调用哪个重载函数?
只能靠参数而不能靠返回值类型的不同来区分重载函数。
编译器根据参数为每个重载函数产生不同的内部标识符
- 在Visual Studio .Net开发环境中,在代码编辑器内输人对象的名称后将自动显示出对应的属性、方法、事件列表,以方便选择和避免书写错误,这种技术被称为_智能感知_
- 一个解决方案可以有多个项目
- CLR是公共语言运行库
- 跟踪句柄——(gcnew)相当于c语言的指针
- 引用不分配内存——不能为空,因为不是定义一个变量,只表示是该用户名是目标变量名的一个别名。 引用前面用&符号,引用使用很简单比较指针(某一变量的位置)。 引用是给某一变量多取一个别名,当建立引用时,程序用另一个变量或对象目标的名字初始化它。缺点是定义之后不能改变8
- 托管代码和非托管代码:为CLR而编写以及使用CLR服务的代码叫"托管代码",而那些未使用CLR服务的代码(也就是你多年以来一直编写的代码),依赖于平台和语言叫"非托管代码"。
- rand()_生成伪随机数;rand()%max表示产生0-max的随机数;a+rand()%(b-a+1)表示产生【a,b】之间的整数。产生不重复的随机数
- array与arraylist:array是本地的程序组件或者数据结构,但是arraylist是一个来自Java集合类的类,一个接口(API);array仅提供一个length属性来告诉你array里有多少个插槽,例如可以存储多少个元素。但arraylist提供一个size()方法来告诉你当前时间点存储了多少个元素;array还可以设置多维数组,但是arraylist并不支持你指定维度。
- 值类型的对象包含的是自身的数据内容。引用是引用对象的跟踪句柄,包含的是对象的地址
- 面向对象:类的几个特殊函数:类的构造函数、复制构造函数、析构函数、终结器,构造函数:C++规定,一个类的构造函数必须与相应的类同名,它可以带参数,也可以不带参数,与一般的成员函数定义相同,可以重载,也可以有默认的形参值。构造函数不能指定函数返回值的类型,也不能指定为void类型。默认构造函数:实际上,在类定义时,如果没有定义任何构造函数,则编译自动为类隐式生成一个不带任何参数的默认构造函数,由于函数体是空块,因此默认构造函数不进行任何操作,仅仅为了满足对象创建时的语法需要。
- 与构造函数相对应的是析构函数。析构函数是另一个特殊的C++成员函数,它只是在类名称前面加上一个“~”符号(逻辑非),以示与构造函数功能相反。每一个类只有一个析构函数,没有任何参数,也不返回任何值。
- 析构函数的功能是用来释放一个对象,在对象删除前,用它来做一些清理工作,它与构造函数的功能正好相反。在_C++/CLI_中,还提供另一种清理机制,称为finalizer(译为“终结器”)。定义终结器的方式与定义析构函数的方式类似,定义类的终结器的方式与定义析构函数的方式类似,其区别在于需要通过“!”符号来代替析构函数中的“~”符号。
几个特殊函数调用顺序:
1.对象的创建:开始之初,调用构造函数,构造对象
2、默认构造函数:
3、对象的析构:使用完毕、调用析构函数,释放对象所占用空间
4、终结器函数:终结器是在销毁该引用类对象时由垃圾回收器自动调用的。
5、复制构造函数(拷贝构造函数):管理复制对象时的空间接口实现多继承:比类的内涵更广。
- 9.20
- 虚函数——virtual《函数名》(形参表){函数体}:为了实现某一功能而假设的函数
在一个派生类中重新定义基类的虚函数是函数重载的另一种特殊形式,但它不同于一般的函数重载。一般的函数重载,只要函数名相同即可,函数的返回类型及所带的参数可以不同。要求所带的参数可以区分是调用哪个重载函数。当重载一个虚函数时,即在派生类中重新定义此虚函数时,则要求函数名、返回类型、参数个数、参数类型以及参数的顺序都与基类中虚函数原型完全相同,不能有任何的不同。虚函数在调用的时候根据当前对象,优先调用对象本身的虚成员函数。这有点像名字支配规律,不过虚函数是动态绑定的,是在执行期“间接”调用实际上欲绑定的函数。也就是说程序运行到此处才动态确定。
10.19
- show()方法显示窗体后,不影响该程序其他窗体的使用。显示窗体后,后面的代码会继续执行
showDialog()方法显示窗体后,只能在此窗体上进行操作。只有当窗体关闭之后,后面的代码才会继续执行。 - nullptr是一个字面值常量,类型为std::nullptr_t,空指针常数可以转换为任意类型的指针类型。
Trim()功能:删除字符串中多余的空格,但会在英文字符串中保留一个作为词与词之间分隔的空格。
c++.net学习笔记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
- ucos实时操作系统学习笔记——任务间通信(消息)
ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...
随机推荐
- NodeJS4-5静态资源服务器实战_优化压缩文件
浏览器控制台看一下RequestHeader有一个Accept-Encoding,而RespondHeaders中也会有一个Content-Encoding和他进行对应. Accept-Encodin ...
- 第二次作业-titanic数据集练习
一.读入titanic.xlsx文件,按照教材示例步骤,完成数据清洗. titanic数据集包含11个特征,分别是: Survived:0代表死亡,1代表存活Pclass:乘客所持票类,有三种值(1, ...
- 小米开源数据库<pegasus>简介
数据模型 组合键:Table + HashKey + SortKey Table实现业务数据的隔离 HashKey决定数据在那个分片 SortKey决定数据在分片内的排序 一致性协议 使用Pacifi ...
- dataguard ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
错误的意思是listener 不知道连接解析器中的请求服务,这里要说静态监听和动态监听了动态注册是在instance启动的时候PMON进程根据init.ora中的instance_name,servi ...
- React每隔0.2s颜色变淡 之生命周期 ,componentDidMount表示组件已经挂载
05案例 每隔0.2s颜色变淡 componentDidMount表示组件已经挂载,可以进行DOM操作 import React, { Component } from "react&quo ...
- C++之运算符优先级顺序表
[注] sizeof 的操作数不能是 C 风格转型:表达式 sizeof (int) * p 无歧义地解释成 (sizeof(int)) * p ,而非 sizeof((int)*p). 条件运算符中 ...
- Nacos 安装(带视频)
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...
- 带你揭秘Shiro(一)
提到Shiro,不得不先介绍RBAC介绍 RBAC介绍: RBAC是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的 ...
- Linux命令学习-cat命令
Linux中,cat命令的全称是concatenate,主要用于显示文件内容. 查看centos系统版本 cat /etc/centos-release 查看文件 gogs.log 的内容 cat g ...
- Retrofit-草稿
1.GSONFormat 2.动态代理 https://www.cnblogs.com/maohuidong/p/7992894.html retrofit的核心就是动态代理