04 2017 档案

摘要:Socket socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。 在Internet上的主机一般运行了多个服务软件, 阅读全文
posted @ 2017-04-26 17:00 倾耳听 阅读(215) 评论(1) 推荐(0)
摘要:sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。 服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2:绑定套 阅读全文
posted @ 2017-04-26 16:54 倾耳听 阅读(280) 评论(0) 推荐(0)
摘要:一直对多线程编程这一块很陌生,决定花一点时间整理一下。 os:ubuntu 10.04 c++ 1.最基础,进程同时创建5个线程,各自调用同一个函数 [html] view plain copy #include <iostream> #include <pthread.h> //多线程相关操作头文 阅读全文
posted @ 2017-04-26 16:43 倾耳听 阅读(267) 评论(0) 推荐(0)
摘要:C++ 多线程 多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。 基于进程的多任务处理是程序的并发执行。 线程的多任务处理是同一程序的片段的并发执行。 基于进程的多任务处理是程序的并发执行。 线程的多任务处理是 阅读全文
posted @ 2017-04-26 16:31 倾耳听 阅读(309) 评论(0) 推荐(0)
摘要:h引擎介绍:ttp://www.jb51.net/article/38004.htm 学习网站:http://www.w3school.com.cn/sql/ MyISAM:MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MyISAM 阅读全文
posted @ 2017-04-26 11:38 倾耳听 阅读(183) 评论(0) 推荐(0)
摘要:1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:创建一个数据库MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3:选择你所创建的数据库 mysql> USE MYSQLDATA; (按回车键出现Data 阅读全文
posted @ 2017-04-25 16:23 倾耳听 阅读(133) 评论(0) 推荐(0)
摘要:#include<iostream>using namespace std;template <typename T>T myMax(T a, T b){ return a > b ? a : b;};int main(){ int a = 7; int b = 8; cout<<myMax(a,b 阅读全文
posted @ 2017-04-24 16:33 倾耳听 阅读(190) 评论(0) 推荐(0)
摘要:struct 的成员默认是公有的,而类的成员默认是私有的。 阅读全文
posted @ 2017-04-24 15:46 倾耳听 阅读(119) 评论(0) 推荐(0)
摘要:分配方式有三种, 1、 静态存储区,是在程序编译时就已经分配好的,在整个运行期间都存在,如全局变量、常量。2、 栈上分配,函数内的局部变量就是从这分配的,但分配的内存容易有限。3、 堆上分配,也称动态分配,如我们用new,malloc分配内存,用delete,free来释放的内存。 阅读全文
posted @ 2017-04-24 15:26 倾耳听 阅读(918) 评论(0) 推荐(0)
摘要:类成员函数的重载、覆盖和隐藏区别:成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须 阅读全文
posted @ 2017-04-24 15:17 倾耳听 阅读(409) 评论(0) 推荐(0)
摘要:cout<<"A "; } ~A() { } };class B{ public: B(int j ){ cout<<"B "; } ~B() { }}; class C{ public: C(int k ){ cout<<"C "; } ~C(){ cout<<"~C "; }}; class D 阅读全文
posted @ 2017-04-24 09:30 倾耳听 阅读(111) 评论(0) 推荐(0)
摘要:#include<iostream> using namespace std; class MyClass { public: MyClass(int i = 0){ cout<<i; } MyClass(const MyClass &x){ cout<<2; } MyClass& operator 阅读全文
posted @ 2017-04-24 09:24 倾耳听 阅读(234) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/hackbuteer1/article/details/79265921、以下程序的运行结果是()[cpp] view plain copy int main(void) { printf("%s , %5.3s\n","computer","compute 阅读全文
posted @ 2017-04-12 17:54 倾耳听 阅读(464) 评论(0) 推荐(0)
摘要:当为int类型时: 会输出:1234 当为字符串时: 会输出:computer , com 前面会自动补两个空格,输出三个字符 当为float时: 会输出:12.330000,123.46 小结:整数位表示所占空格数,纯粹为了格式好看。小数位表示输出个数,int有点例外。 阅读全文
posted @ 2017-04-12 11:15 倾耳听 阅读(254) 评论(0) 推荐(0)
摘要:一、序列式容器: vector(向量)中的元素是按照插入的顺序排列的;deque 是队列,队列中的元素是按照进队列的顺序排列的;list 中的元素也是无序的;为了能够具有较高的查询效率,map 内部采用了平衡二叉树进行排列,因此,它是排好序的。 set也是排好序的(关联性容器都是排好序的) Vect 阅读全文
posted @ 2017-04-12 09:30 倾耳听 阅读(432) 评论(0) 推荐(0)
摘要:#include<iostream>#include<string.h>using namespace std;class String{ public: int a; String &operator + (const String &rhs); String(int b){ a=b; }};St 阅读全文
posted @ 2017-04-11 20:41 倾耳听 阅读(661) 评论(0) 推荐(0)
摘要:String & String::operator =(const String &other){ // 得分点:输入参数为const型 if(this == &other) //得分点:检查自赋值 return *this; delete [] m_data; //得分点:释放原有的内存资源 in 阅读全文
posted @ 2017-04-11 20:40 倾耳听 阅读(262) 评论(0) 推荐(0)
摘要:char *strcpy(char *strDest, const char *strSrc){ if ( strDest == NULL || strSrc == NULL) return NULL ; if ( strDest == strSrc) return strDest ; char * 阅读全文
posted @ 2017-04-11 20:39 倾耳听 阅读(315) 评论(0) 推荐(0)
摘要:String::String(const String &other){ // 得分点:输入参数为const型 int length = strlen(other.m_data); m_data = new char[length+1]; //加分点:对m_data加NULL 判断 strcpy(m 阅读全文
posted @ 2017-04-11 20:39 倾耳听 阅读(397) 评论(0) 推荐(0)
摘要:#include<stdio.h>#include<stdlib.h>void main(){ int i, j, b, a[10]; printf("随机猜想数为:\n"); for(i = 0; i < 10; i++){ a[i] = rand(); printf("%d\n",a[i]); 阅读全文
posted @ 2017-04-11 20:38 倾耳听 阅读(206) 评论(0) 推荐(0)
摘要:单例模式的概念: 单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 关键点: 1)一个类只有一个实例 这是最基本的 2)它必须自行创建这个实例 3)它必须自行向整个系统提供这个实例 阅读全文
posted @ 2017-04-11 20:37 倾耳听 阅读(107) 评论(0) 推荐(0)
摘要:和虚函数相似#include<iostream>using namespace std;class ClxBase{ public: ClxBase() {}; virtual ~ClxBase() { std::cout << "父类析够函数"<<std::endl; } virtual void 阅读全文
posted @ 2017-04-11 20:36 倾耳听 阅读(136) 评论(0) 推荐(0)
摘要:#include<iostream>using namespace std;int main(){ class A{ public: virtual void foo(){ cout<<"A::foo() is called"<<endl; } }; class B:public A{ public 阅读全文
posted @ 2017-04-11 20:35 倾耳听 阅读(258) 评论(0) 推荐(0)
摘要:new 返回指定类型的指针,并且可以自动计算所需要大小。比如:int *p;p = new int; //返回类型为int* 类型(整数型指针),分配大小为 sizeof(int); 而 malloc 则必须由我们计算要字节数,并且在返回后强行转换为实际类型的指针。int* p; p = (int 阅读全文
posted @ 2017-04-11 20:34 倾耳听 阅读(131) 评论(0) 推荐(0)
摘要:服务器端:socket()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接, accept()发现有客户端连接,建立一个新的套接字,自身重新开始等待连接。该新产生的套接字使用send()和recv()写读数据,直至数据交换完毕,closesocket()关闭套接字 阅读全文
posted @ 2017-04-11 20:34 倾耳听 阅读(1070) 评论(0) 推荐(0)
摘要:全局变量、静态变量储存在静态数据区,局部变量在栈中 阅读全文
posted @ 2017-04-11 20:33 倾耳听 阅读(349) 评论(0) 推荐(0)
摘要:默认构造函数(不带参数的构造函数),拷贝构造函数(用于对象间的赋值),析构函数,赋值函数(等号的赋值)。 阅读全文
posted @ 2017-04-11 20:32 倾耳听 阅读(2211) 评论(0) 推荐(0)
摘要:1) 引用必须被初始化,指针不必。所以不存在指向空值的引用,但是存在指向空值的指针2) 引用初始化以后不能被改变,指针可以改变所指的对象。 传递指针本质上传递的也是拷贝的副本,只不过副本是地址。 保护传递给函数的数据不在函数中被改变 指针: 输出结果:0xffffdcb4e0 1 指针p为NULL 阅读全文
posted @ 2017-04-11 20:32 倾耳听 阅读(488) 评论(0) 推荐(0)
摘要:1这样可以提高编译效率,因为分开的话只需要编译一次生成对应的.obj文件后,再次应用该类的地方,这个类就不会被再次编译,从而大大提高了效率。2隐藏了代码; 阅读全文
posted @ 2017-04-11 20:30 倾耳听 阅读(571) 评论(0) 推荐(0)
摘要:& 与 相同位的两个数字都为1,则为1;若有一个不为1,则为0| 或 相同位只要一个为1即为1^ 异或 相同位不同则为1,相同则为0~ 取反 0和1全部取反<< 左移运算符 a shl b就表示把a转为二进制后左移b位(在后面添b个0)。a shl b的值实际上就是a乘以2的b次方,因为在二进制数后 阅读全文
posted @ 2017-04-11 20:29 倾耳听 阅读(157) 评论(0) 推荐(0)
摘要:在类中定义的函数被默认成内联函数。 阅读全文
posted @ 2017-04-11 20:28 倾耳听 阅读(115) 评论(0) 推荐(0)
摘要:满二叉树肯定是完全二叉树,完全二叉树不一定是满二叉树。满二叉:除最后一层外,每一层上的所有结点都有两个子结点。 阅读全文
posted @ 2017-04-11 20:28 倾耳听 阅读(145) 评论(0) 推荐(0)
摘要:前 根左右中 左根右后 左右根 阅读全文
posted @ 2017-04-11 20:26 倾耳听 阅读(104) 评论(0) 推荐(0)
摘要:当使用一个对象来初始化另一个对象时,编译器会自动生成拷贝构造函数。格式为:类名(const 类名&对象名) 阅读全文
posted @ 2017-04-11 20:24 倾耳听 阅读(124) 评论(0) 推荐(0)
摘要:每个类可以有多个构造函数,但一定只能由一个析够函数,且形式必须是:class::~class(){} 阅读全文
posted @ 2017-04-11 20:24 倾耳听 阅读(101) 评论(0) 推荐(0)
摘要:int p=new int[10],那么 sizeof(p)的值为: 在32位系统下,指针所占字节为4。 在64位系统下,指针所占字节为8。 sizeof的括号中,可以是类型也可以是对象,表示括号中的某某所占的字节数,其字节数可以是固定的也可以是自己分配的长度。 阅读全文
posted @ 2017-04-11 20:22 倾耳听 阅读(204) 评论(0) 推荐(0)