
C++学习
BigHerbert
git仓库:https://github.com/wangxiaoq
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++基础知识(五)C++的一些特性
有人说,C++是由C语言往前走了一步而变成的,因为从语法角度上来看,C++就是在C的基础上自增了一。那么,C++和C语言相比,除了类(就是面向对象的那一套东西之外),基础语法增加的有哪些呢。 1、强制类型转换,C++中有四种强制类型转换,static_cast,const_cast,dynamic_cast,reinterpret_cast。 (1)static_原创 2013-10-25 13:25:46 · 1125 阅读 · 0 评论 -
C++编程问题--注意指针参数的传递
C++建立二叉树和遍历,以及关于值传递的问题。原创 2014-03-06 15:10:06 · 1519 阅读 · 0 评论 -
小议C++中函数的参数的传递
c++中为每一个函数都维护了一个运行栈(活动记录),这个栈存储了与该函数相关的一系列信息,包括函数中声明的变量,传递给函数的实际参数,以及该函数的返回地址等,使用gdb调试器可以清楚的看到这一切。当调用发生时,该函数会将实际参数的值copy到运行栈,也就是常说的值传递。那么很显然的就是,如果我们在函数中改变的只是实际参数的值的拷贝,所以实际参数的值并没有发生变化。 那么,如果我们想要去原创 2013-12-05 22:12:07 · 1293 阅读 · 0 评论 -
如何退出while(cin>>value)的循环
今天看了一个程序,感觉很奇怪,如下: #include using namespace std; int main() { int value; while( cin>>value ) { ; } cout<<"end input"<<endl; return 0; } 用户不断的原创 2013-11-07 19:48:19 · 5633 阅读 · 2 评论 -
C++的学习(十一)继承
面向对象语言的核心就是继承与虚拟,首先总结一下C++中与继承有关的知识。如果你之前学过java或者其它的面向对象的语言,对继承的理解应该是很容易的。在C++中,一个类通过继承可以获得父类的所有成员,而它自己又相应的称为其父类的子类。我们也可以把父类称为基类,把子类称为派生类。 如果没有特别强调均为公有继承。 首先,我们已经知道一个类通过继承可以获得父类的所有成员。对于父原创 2013-10-31 20:07:24 · 2090 阅读 · 0 评论 -
C++的学习(十)类和对象
终于把C++中的基础在前面的几篇博客中总结完了,可能还有一些语法还没有总结到,没关系,以后用到了再查资料就好。类是C++中的一个非常重要的概念,这是区别你使用的C++到底是面向过程还是面向对象的一个重要的标志。如果在你写的C++程序中没有使用到类,仅仅使用了C++中的几个库。那么你所使用的C++仍然是面向过程的,只有使用了类的C++程序才能说是面向对象的。当然前面的概念有些不太准确,面向对象是一种原创 2013-10-25 19:51:30 · 1218 阅读 · 0 评论 -
C++基础知识(三)C++的输入和输出及操纵符
虽然在第一篇博客中已经总结了C++的基本的输入对象cin,但是感觉到有很多的东西还是没有总结到位,在此再补上一篇。我们都知道,C++对输入和输出采用的是文件流,这个和java是类似的。我们可以想象一下流的概念,数据就像流水一样,连续不断,前赴后继,感觉这个概念是很生动啊,流(stream)用的非常好。cin和cout是C++中的标准流。在这里我们着重回忆一下,流中操纵符的使用。输入和输出可以被操纵原创 2013-10-22 20:48:16 · 2204 阅读 · 0 评论 -
C++基础知识(二)命名空间
前面总结了C++中的键盘输入,经过一段时间的学习,终于基本上把C++的基础知识都预热了一遍。今天再做一个总结。 C++比C中多了一个命名空间,即用关键字namespace声明,为什么要使用命名空间呢。这是广大初学者都很迷惑的一个问题,其实很简单。举一个简单的例子,在信息学院有两个班级,计算机一班和计算机二班,在每一个班级中都有一个人叫做张小三。那么如果两个班级在一块上课,当老师点原创 2013-10-22 20:08:17 · 1320 阅读 · 0 评论 -
C++基础知识(一) 键盘输入
不得不说已经学过C++有两年的时间了,但是之前不论是做实验还是干活,所使用的工具都不是CPP。所以现 在,基本上已经忘得差不多很可以了。现在重新开始对C++进行学习,写一些博客,对自己所学过的东西进行总结与思 考。这里说的C++的基础知识是指,除过C++的面向对象那一套的所有的东西,因为这些是学习后面的面向对基 础,所以称之为C++基础知识。 废话了原创 2013-10-21 11:02:22 · 4753 阅读 · 0 评论 -
C++基础知识(七)new和delete
学过c语言的人都知道,c语言中动态分配内存空间使用的是库函数malloc,calloc,realloc以及free。而c++中所使用的是关键字new和delete。如 int* pi = new int; int* pa = new int[20]; 用new可以动态的分配内存空间,从上例可以看到使用很方便,比c语言中的malloc语法要简洁的多。对于上面的例子如何释放所分配的内存空间呢原创 2013-10-25 14:46:00 · 1017 阅读 · 0 评论 -
C++基础知识(四)文件的基本操作
文件操作是各种编程语言中最基本的操作,而C++作为最为流行的编程语言之一,可以对文件进行灵活的操作,绝对能让你用起来得心应手。下面用一个例子来感受一下,C++中文件操作功能的强大。 #include #include #include using namespace std; void copy(string s,string d) { //声明两个文件输入输出流 ifstrea原创 2013-10-25 11:56:35 · 1438 阅读 · 0 评论 -
C++基础知识(八)例外、异常处理
对java熟悉的朋友们都很清楚,java中的异常处理机制是非常完善的。并且java强制使用异常处理,用户必须对有可能出现异常的情况进行处理。在c++中并没有强制用户使用异常处理,但是使用异常处理将会使您的程序更加的健壮。 在c++中,一个函数在执行的过程中可以识别异常(例外),并通告异常的发生。这种通告机制称为抛出异常,使用关键字throw。异常抛出后,可以由函数的调用者进行捕捉并进行原创 2013-10-25 15:34:36 · 1662 阅读 · 0 评论 -
C++基础知识(六)函数
c++中的函数和c语言中的函数相比,增加了许多新的语法与功能。在这里总结一下c++中常用的引用参数,函数重载和内联函数。 1、引用参数 说起引用参数最常用的一个例子就是交换两个数,如下: void swap(int& a,int& b) { int t = a; a = b; b = t; } void main() {原创 2013-10-25 14:25:26 · 1054 阅读 · 0 评论 -
C++编程问题--glibc detected *** ./a.out: munmap_chunk(): invalid pointer: xxxxxx
glibc detected *** ./a.out: munmap_chunk(): invalid pointer: xxxxxx问题的解决原创 2014-03-05 20:08:29 · 11716 阅读 · 1 评论