C++
文章平均质量分 64
Hi_Aaron
do
读书工作生活
while(1)
展开
-
一个简单的基于UDP字符界面的聊天应用程序(C/C++)
编写一个简单的基于字符界面的聊天应用程序 基于聊天的应用程序软件通常用会采用基于UDP的应用协议来实现,因为UDP不需要建立连接,而且没有数据确认和数据重传的机制,所以实时性较高。在聊天时即使丢失一些数据也不会影响信息的交流,我们可以通过上下文语义知道对方所要表达的意思,或者根据对方的信息重新发送我们要说的话;对于TCP来说,在通讯前要经过三次握手协议建立连接,而建立连接的过程往原创 2013-04-24 21:25:44 · 5993 阅读 · 3 评论 -
计算下一个全排列(以STL中的next_permutation为例)
c++中algorithm头文件是STL的算法部分,里边定义了各种算法,比如sort之类的。加上algorithm就可以使用stl库里的各种算法了。 #include里面提了两各种排序,分别为升序,降序。next_permutation(arr,arr+N);prev_permutation(arr,arr+N)下面的例为:#include#includeusing转载 2013-03-08 23:20:48 · 2357 阅读 · 0 评论 -
C++ 动态开辟空间
C++动态开辟空间:1.变长一维数组 这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做: //文件名: array01.cpp #include using namespace std; int main() { int len; cin>>len; //用指针转载 2013-03-07 09:11:35 · 9011 阅读 · 0 评论 -
VC6.0 error LNK2001: unresolved external symbol _main解决办法
VC6.0 error LNK2001: unresolved external symbol _main解决办法2010-03-30 18:59:15学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以转载 2013-01-20 20:47:20 · 1034 阅读 · 0 评论 -
VC6.0下怎样查看程序的运行时间及内存占用情况
暂时还没发现可以在VC界面直接查看程序运行时间及内存占用的方法,以下方法都是从网上看来的,这里只做总结并且是通过代码实现的,如果有哪位高手知道更简便的方法,麻烦留言告诉我 , O(∩_∩)O 方法一:#include long int begin,end; time(&begin); --------运行的程序段 ------ time(&end);原创 2013-01-16 22:10:07 · 7445 阅读 · 1 评论 -
关于求余的符号位
整数才可以求余,求余后的符号位与左边数相同。例:5%2=1 5%-2=1 -5%2=-1 -5%-2=-1#includeusing namespace std;int main(){ cout cout cout coutreturn 0;}运行结果:原创 2013-01-07 14:21:17 · 1994 阅读 · 0 评论 -
最优装载(贪心)
算法设计例题:最优装载(贪心)memory limit: 32768KB time limit: 1000MSaccept: 24 submit: 68Description有一批集装箱要装上一艘载重量为C的轮船。其中集装箱i的重量为wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。Input输入的第一个为测试样例的个数T原创 2012-12-28 21:52:40 · 3049 阅读 · 0 评论 -
最长公共子序列(DP)
算法设计例题:最长公共子序列(DP)memory limit: 65536KB time limit: 500MSaccept: 50 submit: 124Description一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列 X = { x1,x2,…,xm },则另一序列Z={ z1,z2,…,zk },X的子原创 2012-12-28 11:56:31 · 1641 阅读 · 0 评论 -
旅行售货问题(回溯)
算法设计例题:旅行售货员问题(回溯、分枝限界)memory limit: 5000KB time limit: 2000MSaccept: 4 submit: 5Description旅行售货员问题又称TSP问题,问题如下:某售货员要到若干个城市推销商品,已知各城市之间的路程(或旅费),他要选定一条从驻地出发,经过每个城市一遍最后回到驻地的路线,使总的路原创 2012-12-28 15:05:42 · 4651 阅读 · 1 评论 -
图的m着色问题(回溯)
算法设计例题:图的m着色(回溯)memory limit: 5000KB time limit: 2000MSaccept: 8 submit: 14Description给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。是否有一种着色法使G中每条边的2个顶点着不同颜色,求有多少种方法为图可m着色。Input原创 2012-12-28 11:51:33 · 7461 阅读 · 0 评论 -
C++经典面试题汇总
1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已。virtual可加可不加。子类的空间里有父类的所有变量(static除外)。同一个函数只存在一个实体(inline除外)。子类覆盖它的函数不加virtual ,也能实现多态。在子类的空间里,有父类的转载 2013-03-17 00:17:26 · 949 阅读 · 0 评论 -
用STL中的vector动态开辟二维数组
用STL中的vector动态开辟二维数组源代码:#include #include using namespace std;int main(){ int m, //行数 n; //列数 cout cin>>m>>n; //注意下面这一行:vector"之间要有空格!否则会被认为是重载">>"。 vector > vecInt(m原创 2013-03-22 12:01:53 · 7874 阅读 · 0 评论 -
Raw格式转换为Bmp格式
首先先介绍C++中图像数据分配内存方法。 在计算机中图像是一个二维的数字点阵。比较容易想到的是申请一个二维矩阵来存储图像如:BYTE image[512][512];可以存储一幅512*512个像素的图像,每个像素用一个字节表示,一个字节能表示0-255共256个不同取值。所以这一二维数组比较合适存储灰度图像。 对于二维彩色图像,如果每个像素分别有R,G,B 3个颜转载 2013-03-27 11:10:11 · 6157 阅读 · 0 评论 -
模拟火车票购票系统的简单多线程程序
#include#include//线程1入口函数原型声明DWORD WINAPI Fun1Proc( LPVOID lpParameter // thread data);//线程2入口函数原型声明DWORD WINAPI Fun2Proc( LPVOID lpParameter // thread data);int index=0;int tickets=100原创 2013-04-25 10:18:43 · 3061 阅读 · 0 评论 -
进程死锁
进程死锁问题:哲学家进餐的问题线程1拥有了临界区对象A,等待临界区对象B的拥有权,线程2拥有了临界区对象B,等待临界区对象A的拥有权,就造成了死锁#include#includeDWORD WINAPI Fun1Proc( LPVOID lpParameter //thread data );DWORD WINAPI Fun2Proc( L原创 2013-04-26 18:33:22 · 1129 阅读 · 0 评论 -
ARC 下 C++/OC 混编计数器的问题
ARC 模式下,object-C 编写的代码的内存管理都交给了自动引用计数器了,不用我们自己再去操心内存的管理,但使用 Core Foundation 框架或者是和 C++ 混编时,代码的内存还是需要我们自己去管理的,这时候就需要注意了!Core Foundation 主要是由不透明类型(opaque type),即 C 结构体组成,语言层面并不支持继承和多态,而 Core Foundation能够原创 2017-05-16 20:54:37 · 1685 阅读 · 0 评论 -
C/C++中extern关键字详解
文章转自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C转载 2015-07-21 18:06:31 · 811 阅读 · 0 评论 -
编写高效的C++程序方法之使用对象池
对象池技术可以避免在程序的生命期中创建和删除大量对象。如果知道程序需要同一类型的大量对象,而且对象的生命周期都很短,就可以为这些对象创建一个池(pool)进行缓存。只要代码中需要一个对象,就可以向对象池请求.用完此对象时,要把它放回池中。对象池只创建一次对象,因此它们的构造函数只调用一次,而不是每次使用时都调用。因此,当构造函数要完成一些设置动作,而且这些设置可以应用与该对象的多次使用时,对象池就原创 2013-06-03 23:57:54 · 10609 阅读 · 3 评论 -
网络编程-Winsock
Windows下的网络应用开发大部分是通过Winsock完成的(除了Winsock 以外还有其他的),Winsock有两种开发模式,一种是阻塞模式,另一种是非阻塞模式。阻塞模式是基本同步的开发模式,非阻塞模式是基于异步的开发模式。非阻塞模式结合了Windows的消息机制,更符合Windows下的开发。Winsock的相关函数 每个需要使用Winsock进行网络开发的Widnow原创 2013-05-24 13:21:07 · 2856 阅读 · 0 评论 -
BOOST--学了很久的C++
学习了很久的C++,不过最近才知道有BOOST这个东西,还是在程序员杂志上看到JJHOU先生写的关于BOOST 使用的系统文章时才决定来关注一下这个神秘的东西。下面是网上找的一篇文章,看完之后作了一些修改,可以对大家有用吧。 一直流传这么一个说法,想成为高手,一定要多读高手写的源代码。哪些代码是好材料呢?C++标准库的源代码?不,如果您读过,就会发现:要么是各种实现独有的表达方转载 2013-05-19 09:35:43 · 3787 阅读 · 0 评论 -
C/C++控制台输出时设置字体及背景颜色
核心提示:0.设置控制台输出行数和列数 0.设置控制台输出行数和列数 system("mode con:cols=100 lines=20000"); 1.改变整个控制台的颜色 用 system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下: 0=黑色 1=蓝色转载 2013-04-24 21:13:53 · 3279 阅读 · 0 评论 -
利用SetConsoleTextAttribute函数设置控制台颜色
控制台单调的颜色只有黑白两种,看起来多少难免有些单调。在没学图形化编程之前,每天看着控制台程序难免会枯燥无味。不过,利用SetConsoleTextAttribute函数可以设置控制台的前景色和背景色。闲言少叙,书归正传。①效果图:(颜色可以混合,遵循配色原理)[cpp] view plaincopy#include转载 2013-04-24 14:56:47 · 1336 阅读 · 0 评论 -
最优装载(贪心算法)
算法设计例题:最优装载(贪心)memory limit: 32768KB time limit: 1000MSaccept: 24 submit: 68Description有一批集装箱要装上一艘载重量为C的轮船。其中集装箱i的重量为wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。Input输入的第一个为原创 2012-12-26 23:53:08 · 6808 阅读 · 2 评论 -
DP 最长公共子序列
/*解题报告题目:http://acm.hdu.edu.cn/showproblem.php?pid=1159算法:DP 最长公共子序列思路:最长公共子序列,英文缩写为LCS(Longest Common Subsequence)。其定义是,一个数列 S ,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。d转载 2012-12-25 21:12:53 · 761 阅读 · 0 评论 -
C++学习–基础篇(书籍推荐及分享)
C++学习–基础篇(书籍推荐及分享)算起来,用C++已经有七八年时间,也有点可以分享的东西;以下推荐的书籍大多有电子版。对于技术类书籍,电子版并不会带来一个好的阅读体验。如果喜欢,最好找纸版(图书馆是个好去处);电子版更适合作为一个参考书籍常备电脑。我将分为基础篇、Windows篇、和Linux/Unix篇 三个部分来介绍这些经典书籍: C++入门:《转载 2012-12-26 08:39:59 · 936 阅读 · 0 评论 -
C++ 引用的作用和用法
【转】C++ 引用的作用和用法C++中的引用【导读】介绍C++引用的基本概念,通过详细的应用分析与说明,对引用进行全面、透彻地阐述 引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。引用简介引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:转载 2012-11-29 20:12:43 · 1447 阅读 · 2 评论 -
读侯俊杰的《深入浅出MFC》小记
1.程序必须在产生窗口之前先利用API函数RegisterClass设定属性(我们称此操作为注册窗口类)2.消息循环中的TranslateMessage是为了将键盘消息转化,DispatchMessage会将消息传给窗口函数去处理。3.注意,无论什么消息都必须被处理,所以switch/case指令中的default:处必须调用DefWindowProc,这是Window内部原创 2012-09-08 16:42:25 · 1582 阅读 · 0 评论 -
MFC中的大写标识符、数据型态、匈牙利表示法
大写字母标识符前缀类别CS窗口类别样式CW建立窗口DT绘制文字IDI图示IDIDC游标IDMB消息框SND声音原创 2012-10-31 22:04:27 · 1240 阅读 · 0 评论 -
C++模板使用介绍
当前位置:首页 > 编程 > 编程语言 > C/C++编程 > 正文C++模板使用介绍浏览次数:8460次 2009年04月05日 C++博客 字号: 大 中 小分享到:QQ空间新浪微博腾讯微博人人网豆瓣网开心网更多121. 模板的概念。我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同。正确的调用转载 2012-09-06 00:41:20 · 937 阅读 · 0 评论 -
MFC的一些实用的基础知识
一、_T()函数_T("")是一个宏,他的作用是让你的程序支持Unicode编码。因为Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。转载 2012-09-01 15:11:04 · 1191 阅读 · 0 评论 -
VC6.0 error LNK2001: unresolved external symbol _main解决办法
LINK : fatal error LNK1168: cannot open Debug/WinMain.exe for writing以及LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main的解决办法1.c++程序出现:fatal error LNK1168: cannot open De转载 2012-07-19 00:19:37 · 8458 阅读 · 1 评论 -
怎样在VC中用代码操作SQL(1)?---注册帐号,修改密码,登录3个功能
怎样在VC中用代码操作SQL(1)?---注册帐号,修改密码,登录3个功能2010年08月19日 星期四 上午 10:12效果图说明:图中包括3个模块(1.注册帐号 2.修改密码 3.登录),注意用户资料是保存SQL数据库中,而不是VC中------------------本文分2部分 第1部分:讲解 第2部分:源代码--------------转载 2012-06-05 21:55:22 · 3200 阅读 · 0 评论 -
贡献15本经典C、C++、MFC、VC++教程,都是pdf完整版的
贡献15本经典C、C++、MFC、VC++教程,都是pdf完整版的 2011-12-11 16:35:49| 分类: Linux资料库 | 标签:c、c++、mfc、vc++ |字号 订阅C++ Primer第三版(中文pdf高清完美版,1043页) C++实例教程(pdf版) More Effective C++ 教程转载 2012-06-01 16:49:34 · 9377 阅读 · 5 评论 -
MFC中编辑框的显示与隐藏
隐藏编辑框:GetDlgItem(IDC_LIST1)->ShowWindow(false);显示编辑框:GetDlgItem(IDC_LIST1)->ShowWindow(true);注:IDC_LIST1是你控件的ID原创 2012-12-03 23:20:01 · 6720 阅读 · 0 评论 -
C++学习书籍
C/C++ code12345C++开发 1.《C++ Primer》:全面学习C++的必备书籍2.《Thinking in C++》:了解C++背后的一些机制3.《深度探索C++对象模型》:深入了解C++,也是学习COM的必经之路 C/C++ code1转载 2012-11-21 16:17:30 · 828 阅读 · 0 评论 -
关于MFC窗口隐藏的方法
很多时候我们需要做一些后台的服务程序,这时我们就不需要弹出程序的窗口,因此便需要隐藏程序的窗口,以下就是一些我从网上或者其它途径获取的隐藏程序窗口的方法,一般的MFC应用程序有基于对话框的,单文档和多文档,而单文档和多文档的方法是一样的,所以这里只以单文档为例:1.隐藏基于对话框的MFC应用程序窗口的方法 (推荐这个方法,非常好用)很多人可能会将窗口创建出来,然后用一个转载 2012-12-05 13:05:47 · 1167 阅读 · 0 评论 -
memset的用法
memset将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S的指针。目录需要的头文件函数原型程序例memset函数详细说明展开需要的头文件函数原型程序例memset函数详细说明转载 2012-12-24 18:56:20 · 773 阅读 · 0 评论 -
puts和getch的用法
puts puts()函数用来向标准输出设备(屏幕)写字符串并换行,其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。 功 能: 送一字符串到流stdout中 用 法: int puts(char *string); 程序例: #include stdio.h> int main(转载 2012-12-24 19:14:55 · 1147 阅读 · 0 评论 -
矩阵各列元素之和
矩阵各列元素之和memory limit: 32768KB time limit: 300MSaccept: 399 submit: 711Description统计一个矩阵的各列元素之和。矩阵各元素为整数且绝对值不超过100。Input有多个测试用例,每个测试用例的第一行是空格分隔的两个正整数n和m( 1 Output对每个测试用例原创 2012-12-24 18:50:53 · 5661 阅读 · 0 评论 -
VC开发数据库基础之ADO篇
VC开发数据库基础之ADO篇 VC开发数据库基础之ADO篇 一、ADO简介ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,请不必为此担心,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易转载 2012-12-10 13:50:35 · 2590 阅读 · 1 评论