
c++
ochonglangzheo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++ map hash_map unordered_map 比较
map hash_map unordered_map 性能测试 by zieckey测试条件:gcc version 4.2.1 20070719 [FreeBSD]FreeBSD 7.2-RELEASE #0: Fri May 1 07:18:07 UTC 2009 root@driscoll.cse.buffalo.ed转载 2012-12-27 10:27:08 · 1585 阅读 · 0 评论 -
虚继承和普通继承的一些不同(持续更新)
普通继承中,子类和基类中至少任何一方有虚函数,那么那个虚指针就是双方公用的,通过sizeof类的大小可以看出;虚继承中,子类和基类的虚函数指针是不同的,没有任何关系,子类中有一个指向基类的指针。原创 2013-08-19 20:25:54 · 878 阅读 · 0 评论 -
二级指针作为函数参数传递初始化的一点总结
我用代码来说明:typedef struct{ int *top; int *base; int stack_size;}SqStack;void InitStack(SqStack** s){ *s = (SqStack*)malloc(sizeof(SqStack)); if(NULL != *s){ (*s)->top = (int *)malloc(sizeof(i原创 2013-08-06 11:20:21 · 1207 阅读 · 0 评论 -
关于vs2008 LNK2019的错误(不间断更新)
1.如果一个类中用到模板,最好把函数定义和实现写在一个文件里,比如.h文件,有些编译器不支持类模板分离;2.可能原因:析构函数或构造函数没实现;原创 2013-06-13 16:45:57 · 847 阅读 · 0 评论 -
关于友元类的一些东西
对于友元类,大家应该不陌生了,友元类声明会将整个类说明成为另一个类的友元关系,友元类的所有成员函数都可以是另一个类的友元函数;昨天在调试程序的时候,当我把所有程序写在一个文件中的时候,包括类和友元类的实现,还有main函数,编译能通过,而且也能执行,但是当我把类的定义和实现分开来的时候,就编译通不过了,具体代码如下myPoint.h#ifndef _myPoint_H_#define _原创 2013-05-09 10:09:47 · 668 阅读 · 0 评论 -
c++ 把类打包成dll接口文件
之前在网上一直查不到关于把类打包成dll文件的程序,今天自己写了个测试程序,供大家参考一、生成类的dll文件1.我是在vs2008上测试的,建立工程,在选择建立何种类型的工程的时候,勾上application type中的dll;2.添加一个头文件,命名为mydll.h,这个头文件就是我们测试时候要用接口文件,代码如下:#ifndef _MYDLL_H_#define _MY原创 2013-03-21 19:42:51 · 6566 阅读 · 2 评论 -
c++函数返回值与引用
对于函数的返回值,看似简单,但并非如此,比如:int func(int a);该函数会返回一个int型,如果进行一个调用int result=func(3);会发生什么情况?首先,func将返回值复制到一个匿名临时变量中,在这里假设该临时变量为anony(其实是没有名字的,这里方便阐述);然后,再将anony的值复制到result,可以看出,这里是进行了两次复制的。而并非一次复制。转载 2013-04-02 21:43:15 · 725 阅读 · 0 评论 -
Windows Socket 非阻塞模式开发
非阻塞套接字 非阻塞模式是指:套接字在执行操作时,调用的函数不管操作是否完成都会立即返回的工作模式。 非阻塞套接字在处理同时建立的多个连接等方面具有明显的优势。但是使用过程中有一定的难度。由于函数在操作没有完成后也仍然会返回,为了实现某些功能必须循环调用,直到完成功能为止。因此非阻塞模式会使程序效率非常低。 把套接字设置为非阻塞模式,即告诉系转载 2013-03-14 17:15:33 · 1144 阅读 · 0 评论 -
windows 下 c++ socket udp 广播
接收广播消息端:#include "stdafx.h"#include #include #pragma comment(lib, "ws2_32.lib")const int MAX_BUF_LEN = 255;using namespace std;int _tmain(int argc, _TCHAR* argv[]){ WORD wVersionReques原创 2013-03-13 15:14:18 · 5955 阅读 · 8 评论 -
使用atoi 报错:cannot convert parameter 1 from '_TCHAR *' to 'const char *'
出错是因为atoi仅支持ASCII字符串,但你传递给它的是一个UTF-16的字符串,可以用_ttoi 替换掉atoi。原创 2013-03-12 16:02:38 · 3721 阅读 · 0 评论 -
C++ Socket 编程(非常全面)
介绍Socket编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措?等等…好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解 C 语言并想穿过网络编程的沼泽,那么你来对地方了。读者对象这个文档是一个指南,而不是参考书。如果你刚开始 socket转载 2013-02-26 10:40:42 · 687 阅读 · 0 评论 -
c++和java在socket通信过程中发送和接收函数的问题
以下是我在做java和c++ socket通信过程中如何正确使用java接收函数的问题,主要还是为了完成项目,可能不够详细,请多多指正:1、c++端发送:如果发送的是整型等多字节类型,必须先要经过大小端的转换才可以发送,java端接收此种类型时用readInt、readFloat等函数,否则java端会出现乱码;大小端代码转换如下:#define BSWAP_32(x) \原创 2013-03-08 14:30:13 · 2443 阅读 · 0 评论 -
vector C++ 详细用法
ector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。 为了可以使用vector,必须在你的头文件中包含下面的代码: #include vector属于std命名域转载 2013-02-22 10:21:11 · 466 阅读 · 0 评论 -
用Socket在局域网内进行广播
服务器和客户机采用Socket编程。 问题1:服务器进入侦听状态,但是此时客户端并不知道服务器的地址。我该如何做? 问题2:我想使客户端先发出一个广播,服务器接受广播后给客户机发送自己的Ip等信息。 接着再建立Socket通讯。这样对吗? 问题3:是不是进行广播必须是数据报SOCK_DGRAM 问题4:是不是通讯的双方必须都是数据流或数据报?如果服务器是数据流转载 2013-03-06 10:12:11 · 2310 阅读 · 1 评论 -
c++ map用法
Map Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,转载 2012-12-27 10:23:00 · 554 阅读 · 0 评论 -
vs2008 查看类在内存分布结构的方法
写程序一直想看内存里数据是怎么分配的,尤其是类的内存结构,尤其当设计到继承的时候。其实微软有一个未正式发布的编译选项 /d1reportSingleClassLayout话不多说,下面描述具体使用方法:这个编译选项有2种形式:/d1reportSingleClassLayout、/d1reportAllClassLayout 。前者是查看单个类,后者是查看文件中所有类的结构。比如我想看原创 2013-09-05 16:08:50 · 1321 阅读 · 0 评论