c++基础知识
飘剑如虹
这个作者很懒,什么都没留下…
展开
-
C++点滴----关于类常成员函数
关于C++中,类的常成员函数声明样式为: 返回类型 <类标识符::>函数名称(参数表) const一些说明:1、const是函数声明的一部分,在函数的实现部分也需要加上const2、const关键字可以重载函数名相同但是未加const关键字的函数3、常成员函数不能用来更新类的成员变量,也不能调用类中未用const修饰的成员函数,只能调用常成员函数。即常成员函数不能更改类中的成员状态...转载 2018-06-23 22:11:22 · 447 阅读 · 0 评论 -
C++ const_cast用法
const_cast是一种C++运算符,主要是用来去除复合类型中const和volatile属性(没有真正去除)。变量本身的const属性是不能去除的,要想修改变量的值,一般是去除指针(或引用)的const属性,再进行间接修改。用法:const_cast<type>(expression)通过const_cast运算符,也只能将const type*转换为type*,将const ty...转载 2018-07-06 14:43:13 · 3632 阅读 · 0 评论 -
vector删除元素后iterator失效
1. 对于关联容器(如map, set, multimap,multiset),删除当前的iterator,仅仅会使当前的iterator失效,只要在erase时,递增当前iterator即可。这是因为map之类的容器,使用了红黑树来实现,插入、删除一个结点不会对其他结点造成影响。for (iter = cont.begin(); it != cont.end();){ (*iter)->...转载 2018-07-05 20:18:09 · 577 阅读 · 0 评论 -
转:C++中const、volatile、mutable的用法
const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value值不可变。 例如:const int nValue; //nValue是constint con...转载 2018-06-28 14:59:45 · 112 阅读 · 0 评论 -
C++ explicit关键字详解
首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).那么显示声明的构造函数和隐式声明的有什么区别呢? 我们来看下面的例子:class CxString // 没有使用explicit关键字的类声明, 即默认...转载 2018-06-28 14:15:21 · 1397 阅读 · 0 评论 -
虚函数与虚继承寻踪
https://www.cnblogs.com/fanzhidongyzby/archive/2013/01/14/2859064.html封装、继承、多态是面向对象语言的三大特性,熟悉C++的人对此应该不会有太多异议。C语言提供的struct,顶多算得上对数据的简单封装,而C++的引入把struct“升级”为class,使得面向对象的概念更加强大。继承机制解决了对象复用的问题,然而多重继承又会产...转载 2018-07-01 15:56:20 · 142 阅读 · 0 评论 -
数据库基础知识
1.已知关系R(F,G,H,I,J)及其上的函数相关性集合,F=(F->G,J->F,HJ->I),该关系的候选关键字是:正确答案: B 你的答案: D (错误)FJHJHIIJ如果一个 超关键字 去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字”(Candidate Key)。候选关键字既能唯一地确定记录,它包含的字段又是最精炼的。也就是说候选关键字是最简单...转载 2018-07-01 14:31:00 · 330 阅读 · 0 评论 -
重载、覆盖、隐藏的区别
只有参数相同,且有virtual才是覆盖,剩下参数不同或者没有virtual都是隐藏。学习过C++基础课程的人,对重载函数的概念相对熟悉一些,但是对覆盖和隐藏就相对陌生了,在编程技术的学习上,你会发现一个规律,很多知识点你都知道,但是一旦用起来,就常常出错,为什么呢?笔者一直都在探索这个问题。。 重载函数有哪些特性呢? 《高质量C++/C编程指南》已经清晰的列出了重载函数的特性: (...转载 2018-06-26 15:13:32 · 258 阅读 · 0 评论 -
C++ 深入理解 虚继承、多重继承和直接继承
通过类中类的普通继承,类的虚继承,类的多重继承,多个虚函数类的普通继承、虚继承与多重继承,几个交叉概念,详细的阐释了继承、虚函数与虚继承的基本概念,深入剖析了继承于虚继承的区别于联系。【Exp.001-虚继承】[cpp] view plain copy#include <stdio.h> class A { public: int a; };//sizeof(A)=...转载 2018-07-01 12:51:01 · 290 阅读 · 0 评论 -
C++中引用传递与指针传递的区别
精简版:指针:变量,独立,可变,可空,替身,无类型检查;引用:别名,依赖,不变,非空,本体,有类型检查;完整版:1. 概念 指针从本质上讲是一个变量,变量的值是另一个变量的地址,指针在逻辑上是独立的,它可以被改变的,包括指针变量的值(所指向的地址)和指针变量的值对应的内存中的数据(所指向地址中所存放的数据)。 引用从本质上讲是一个别名,是另一个变量的同义词,它在逻辑上不是独立的,它的存在具有依...转载 2018-06-25 19:16:40 · 32868 阅读 · 16 评论 -
unorder_map 基本操作
map和unordered_map的差别还不知道或者搞不清unordered_map和map是什么的,请见: http://blog.csdn.net/billcyj/article/details/78065438需要引入的头文件不同map: #include < map > unordered_map: #include < unordered_map >内部实现机理不...转载 2018-06-24 20:30:25 · 5430 阅读 · 0 评论 -
全面总结sizeof的用法
一、前言编译环境是vs2010(32位)。[cpp] view plain copy<span style="font-size:18px;">#include<iostream> #include<stdio.h> #include<string.h> using namespace std; typedef struct ...转载 2018-06-23 22:12:38 · 984 阅读 · 0 评论