C++一些基本知识(持续整理中......)

1,C++ 是一种静态类型的语言,在使用变量前,必须先定义其类型。在编译时会做类型检查,在编写c++表达式的时候,编译器会检查表达式中所用的对象类型是不是之前给其定义的类型,或能否转换为之前给其定义的类型。所以,C++ 的这种静态类型检查,能帮助开发者更早的发现错误。

2,左值可以出现在赋值语句的左边和右边。

右值只能出现在赋值语句的右边。

3,变量(即对象)是内存中具有类型的区域。变量是否自动初始化取决于变量定义的位置:函数体外的变量自动初始化为0,函数体内的变量不会自动初始化。

类类型变量(类对象)的初始化时通过定义类的构造函数实现的。

4,const 对象不能赋给非const引用:

const int val1 = 10;//ok

const int& val2 = val1;//ok

int& val3 = val1;//error cannot convert from ‘const int‘ to ‘int &‘

int val4 = val1;//ok

所谓“引用”是指指向const对象的引用。因为val3是非const引用,所以可以修改val3指向的对象的值。当val1赋给val3时,如果是合法的那么val1指向的对象将不可以被改变,这个val1的定义不相符。

5,派生类的对象只能访问基类的public成员。那么 当派生类protect继承基类时,就不能把派生类的对象赋给基类的指针。即 Base *abj = new Child();是不可以的。因为在protect继承时,基类的public和protect成员在派生类看来都是protect成员。

时间: 2024-12-19 22:54:32

C++一些基本知识(持续整理中......)的相关文章

java学习路线及资源下载,持续整理中

java学习路线及资源下载,持续整理中 学习路线图:http://blog.csdn.net/shenzhq1980/article/details/484703371.java学习经典书籍_基础编程篇下载地址:http://blog.csdn.net/shenzhq1980/article/details/48375543书籍:Java程序设计语言.(美国)阿诺德.清晰版JAVA2核心技术第1卷.基础知识7thJAVA2核心技术卷II:高级特性7th Java语言程序设计-基础篇(原书第8版)

JS常用方法【私房菜-笔记】-持续整理中

//记录一下前端开发中 JS常用的方法等,持续收集整理中 ---------------------------------------------------------- 1 //处理键盘事件 禁止后退键(Backspace)密码或单行.多行文本框除外 2 function banBackSpace(e) { 3 var ev = e || window.event;//获取event对象 4 var obj = ev.target || ev.srcElement;//获取事件源 5 va

程序员书单合集,持续整理中

1.java学习基础编程篇 csdn下载地址:http://blog.csdn.net/shenzhq1980/article/details/48375543 博客园下载地址:http://www.cnblogs.com/shenzhq80/p/4818305.htmlJava程序设计语言.(美国)阿诺德.清晰版 JAVA2核心技术第1卷.基础知识7thJAVA.2核心技术.卷II:高级特性7thJava语言程序设计-基础篇(原书第8版)Java语言程序设计-进阶篇(原书第8版)Java核心技

反骨仔的全文目录索引(持续整理中...)

反骨仔的全文目录索引 目录 C# 基础回顾 .NET 相关 SQL 基础梳理 其它 - 暂无分类 C# 基础回顾 C# 知识回顾 - 序列化 C# 知识回顾 - 表达式树 Expression Trees C# 知识回顾 - 特性 Attribute 走进 LINQ 的世界 进阶 - LINQ 标准查询操作概述 Linq To Objects - 如何操作文件目录 Linq To Objects - 如何操作字符串 C# 知识回顾 - 特性 Attribute 剖析 AssemblyInfo.c

PHP常用函数归类【持续整理中......】

一.PHP基础语法 变量,常量 严格区分大小写,但内置结构或关键字无所谓(echo) 命名:不能以数字,空格,.来开头,但是可以有汉字,eg:$变量="aa"; 可变变量:$a='aa';$$a="bb";则 $aa="bb"; 引用赋值:$a="aa"; $b=&$a; 则改变$a的值,$b也变化.不同:存储结构是分开的,即使unset($a),$b还在(区分C语言) 变量类型:int str array bool

android 开源项目列表【持续整理中。。。】

Android完整的开源项目,不包括各种组件的项目 社区客户端 oschina客户端:oschina网站的客户端,wp版,iOS版都有开源,一个社区型客户端,包括登录刷新各类视线 四次元新浪微博客户端:做微博的相关应用有福了 eoe客户端:eoe网站Android客户端,这个客户端使用了SliddingMenu等效果 Cnblogs客户端:博客园Android客户端 饭否客户端: kanxue客户端:看雪论坛安卓客户端 K-9 Mail:邮件客户端 TweetLanes:功能完整的Twitter

java 面试整理【持续整理中】

String.StringBuffer与StringBuilder之间区别 String:在java中字符串属于java对象,java提供了string类来创建和操作字符串.但是值得注意的是string属于字符串常量,值是不会变的. 这就导致了每次对string的操作都会生成新的string对象.这样不仅效率低下,还比较浪费内存空间.所以为了解决这一问题,就有了stringBuffer和stringBuilder; StringBuffer:字符串变量 线程安全的.可以多次操作不会产生新的未使用

[C#] C# 6.0 的知识梳理(整理中)

C# 6.0 的知识梳理 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 虽说出了一段时间,但是似乎有许多园友对这一块知识并不了解,如拼接字符串的 $ 符号,在此,小人献上拙作一篇<C# 6.0 的知识梳理>,祝大家在新的一年里:年年有今日,岁岁有今朝,月月涨工资,周周中彩票,天天好心情,日日好运道,白天遇财神,夜晚数钞票. 好了,废话不多说,我们先来回顾一下 C# 的版本史.后续我会对带 0 的版本号进

log4j 使用笔记整理中

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式. 日志信息的常用的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度: 日志信息的输出目的地指定了日志将打印到控制台还是文件中: 而输出格式则控制了日志信息的显 示内容. 一.定义配置文件 其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境.但是,使用配置文件将使您的应用程序更加灵活.Log4j支持两种配置文件格式,一种是XML格式的文件,一种是J