
C++集中营
分享C++的知识
王伴农
就职于国内某知名互联网企业,网站后端开发
展开
-
用C++ DIY自己的线性存储的线性表
用C++ DIY自己的线性存储的线性表原创 2014-03-22 16:37:03 · 1786 阅读 · 0 评论 -
用C++的类和结构体DIY静态链表及其接口函数
用C++的类和结构体DIY静态链表原创 2014-03-23 19:37:20 · 1207 阅读 · 0 评论 -
线性表的链式存储及其接口函数C++类实现
线性表的链式存储及其接口函数C++类实现原创 2014-03-23 20:00:38 · 1795 阅读 · 0 评论 -
用双链表封装的栈的实现
上一篇文章http://blog.youkuaiyun.com/hongkangwl/article/details/22286469中用C++实现了双向链表了,下面我们对其封装,得到栈~~、我们用链表的插入和删除模仿pop和push完整代码如下:#include using namespace std;struct node { int date; node* prev; nod原创 2014-03-27 14:34:13 · 947 阅读 · 0 评论 -
百度电面题 C和C++ 语言动态内存分配 的区别
一、C语言动态内存分配 要实现动态内存的分配,除了利用含指针成员的结构体之外,还需利用C语言提供的几个标准库函数。(使用时应包含头文件“alloc.h”或“malloc.h”或“stdlib.h”) 1.malloc函数 函数原型为void *malloc(unsigned int size);在内存的动态存储区中分配一块长度为"size" 字节的连续区域。函数的返回值为原创 2014-04-03 00:41:12 · 942 阅读 · 0 评论 -
台阶问题
台阶问题原创 2014-04-11 15:07:05 · 954 阅读 · 0 评论 -
stcuct和class的区别
1struct的成员默认权限是public,而class的成员默认权限是private。#include int main(){ class A { public: int a; }; struct B { public: int a; }; A A1; B B1; B1.a = 0; A1.a = 0; return原创 2014-03-17 20:57:21 · 868 阅读 · 0 评论 -
typedef和const pointer定义
假设以下语句Typedef string *ptr;Const ptr cstr;很多人都认为cstr的真实类型是Const string *cstr,但这是错误的。#include #include using namespace std;int main(){ string s("hello world"); string s1("you can not poi原创 2014-03-18 14:58:13 · 823 阅读 · 0 评论 -
typedef和常量指针
假设以下语句Typedef string *ptr;Const ptr cstr;很多人都认为cstr的真实类型是str,但这是错误的。Const string *c#include #include using namespace std;int main(){ string s("hello world"); string s1("you can not point原创 2014-03-18 14:50:57 · 757 阅读 · 0 评论 -
C++中返回指向函数的指针学习
int *p() 定义一个函数,该函数返回一个指向整型元素的指针变量 int (*p)() 指向函数的指针,该函数返回一个整型值在C++ primer 238页中出现的int(*ff(int))(int*,int) ,解释为:ff(int)是一个函数,带有一个int型的形参,所以,这个首先是一个函数。如下面例子中的int (*funOne(int number))(int原创 2014-03-18 16:20:35 · 1913 阅读 · 0 评论 -
C++的输入输出操作符重载
操作符的重载有一些规则:1. 重载操作符必须具有一个类类型或枚举类型操作数。这条规则强制重载操作符不能重新定义用于内置类型对象的操作符的含义。 如: int operator+(int, int), 不可以 2. 为类设计重载操作符的时候,必须选择是将操作符设置为类成员还是普通非成员函数。在某些情况下,程序没有选择,操作符必须是成员;在另外一些情况下,有些经验可以指导我原创 2014-03-13 10:39:23 · 1050 阅读 · 0 评论 -
java网络编程之简单客户端服务器
用Java开发网络软件非常方便和强大,Java的这种力量来源于他独有的一套强大的用于网络的 API,这些API是一系列的类和接口,均位于包java.net和javax.net中。在这篇文章中我们将介绍套接字(Socket)慨念,同时以实例说明如何使用Network API操纵套接字,在完成本文后,你就可以编写网络低端通讯软件。什么是套接字(Socket)?Network API是典原创 2013-11-13 11:23:25 · 6586 阅读 · 1 评论 -
C++中namespace的用法
C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字。比如你定义了一个变量string user_name, 有可能在你调用的某个库文件或另外的程序代码中也定义了相同名字的变量,这就会出现冲突。命名空间就是为解决C++中的变量、原创 2013-12-28 21:57:16 · 1977 阅读 · 0 评论 -
继承的构造与析构
继承的构造与析构原创 2013-12-31 09:40:35 · 1016 阅读 · 1 评论 -
C++的操作符重载
重载操作符就是让操作符作用域非内置类型时也有自己独特的意义。对于内置类型,当操作符作用于它们时,编译器会规定操作的意义:两个int型数据相加的结果与数学运算的加法相同。但是对于非内置类型,比如类或者枚举类型,编译器并没有规定操作符作用于它们的意义。有些时候,这样做是合理的,比如对于两个Student类对象(其中的数据成员有姓名、学号),对它们进行加法操作的确没有什么意义;但是有的时候,我们却希原创 2014-02-28 16:28:17 · 1135 阅读 · 0 评论 -
C++复制构造函数和拷贝构造函数
1 拷贝构造函数参数的特点赋值构造函数要申请内存。就像一般的构造函数一样。而赋值操作,是已经申请好了内存。只是赋值。对于一个类X,如果一个构造函数的第一个参数是下列之一:a) X&b) const X&c) volatile X&d) const volatile X&因此 X::X(X&, int=1); //是拷贝构造函数 并且类中可以存在超过一个拷原创 2014-03-04 14:53:03 · 6044 阅读 · 0 评论