C++
zhangshan415
这个作者很懒,什么都没留下…
展开
-
Windows平台下的win socket网络编程-文件传输小范例:
Windows平台下的win socket网络编程-文件传输小范例:实现:C语言功能:文件传输(可以传任何格式的文件) // // FILENAME: // File_Transfer_Server.c // // DESCRIPTION: // Winsocket Server demo, receive filenam转载 2013-10-21 17:16:17 · 1974 阅读 · 0 评论 -
C++/Qt程序编译运行时出现的问题以及解决办法
一、Qt/C++程序运行时可能出现的问题1>、程序中可能用到了第三方库文件、在执行的文件下未添加相应的DLL文件可能是导致程序能编译通过但是没有办法运行的原因之一。原创 2012-12-25 11:13:54 · 1845 阅读 · 0 评论 -
c++学习之C++设计的两个基本原则
面向对象的程序设计:Object-oriented programming OOP C++程序设计的两个基本原则:抽象(abstraction)和重用(reuse) 。原创 2012-12-23 19:23:46 · 622 阅读 · 0 评论 -
C++基础编程(杨辉三角)
#include using namespace std;const int n = 10 ;void fun_yhsj(int a[][n]) ;void display_array(const int a[][n]) ;int main(){ int a[n][n] ={0}; fun_yhsj(a) ; display原创 2012-09-23 12:39:41 · 1032 阅读 · 0 评论 -
C++学习笔记之函数如何返回字符串(char型)
/*函数如何返回字符串(char型)1. 由于函数只能返回一个值, 如何返回多个字符? 如返回一个字符串;只要获得中第一个字符的地址, 就可以依次找到其他字符。 因此只要将字符串第一个字符的地址返回, 就相当于返回了整个字符串。 我们知道char数组的名字是字符串第一个字符的地址, 如char *p = "study"*/#includeusing namespace st翻译 2012-09-20 13:59:26 · 1776 阅读 · 0 评论 -
C++函数声明的时候后面加const
非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误),表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中,任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const引用);唯一的例外是对于mutable修饰的成员。加了const的成员函数可以被非const对象和const对象调用,但不加const的成员函数只能被非const对象调翻译 2012-09-19 22:38:29 · 1559 阅读 · 0 评论 -
C的memcpy和strcpy的区别是什么?
strcpy是拷贝字符串,以\0为标志结束(即一旦遇到数据值为0的内存地址拷贝过程即停止)strcpy的原型为char *strcpy(char *dest, const char *src)而memcpy是给定来源和目标后,拷贝指定大小n的内存数据,而不管拷贝的内容是什么(不仅限于字符)memcpy的原型为void *memcpy(void *dest, const void *src翻译 2012-09-18 14:08:45 · 823 阅读 · 0 评论 -
有定义静态全局变量引发的“error LNK2001: 无法解析的外部符号 ”的问题
由于你定义的是全局静态变量,所以其适用范围有限制。在CPP定义的不能在其他地方使用。 而我在其他cpp文件中也使用了,而出现了”error LNK2001: 无法解析的外部符号 ”的问题。解决办法 就是去掉static原创 2012-10-09 11:40:02 · 4480 阅读 · 0 评论 -
浅谈C++的智能指针
浅谈C++的智能指针 浅谈C++的智能指针内存泄露是C++程序员都头疼的大问题。C++缺乏像JAVA、C#一样,拥有GC这么一项有利的武器,它将内存管理的部分权限交给了程序员。虽然GC的存在节约了开发、排错的时间与成本,但是C++为了追求运行速度而20年来坚决不予补充进其标准。(题外话:C++通过加大开发难度去换取执行速度的做法,在现在看来不知是否能给与正面的评价,还是留给将来再说吧。)翻译 2012-12-25 18:41:33 · 641 阅读 · 0 评论 -
C++学习之C++动态分配内存
为啥需要动态分配内存 数组是我们常用的一种数据结构.但它有一个缺点,就是用的时候必须确定数组大小.如果我们要用数组来保存的数据不确定可咋整啊?把数组定得太大浪费空间,太小的话又装不下.这是一种情况.另外就是对象太大.我们使用的数据大部分时候都默认保存在栈(stack)里面,由系统去管理,会自动给分配内存,自动给删除掉.但是stack很小,就那么几M,如果你读取一个几十M的文本内容然后保翻译 2012-12-26 14:40:36 · 697 阅读 · 0 评论 -
【error】LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value
VS2010 debug编译程序中出现的错误:【error】LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value解决办法:Project Pages / Configuration Properties / C,C++ / Preprocessor原创 2013-02-25 14:22:41 · 2198 阅读 · 0 评论 -
程序中debug 编译与release 编译的区别
经常在 CSDN 上看见有人问 Debug 运行正常但 Release 失败的问题。以往的讨论往往是经验性的,并没有指出会这样的真正原因是什么,要想找出真正的原因通常要凭运气。最 近我看了一些这方面的书,又参考了 CSDN 上的一些帖子,然后深入研究了一下关于二者 的不同。以下是我的一些体会,拿来与大家共享。 -------------------------------------- 本转载 2013-01-17 14:50:26 · 895 阅读 · 0 评论 -
error LNK2019: 无法解析的外部符号 "void __cdecl QTest::qSleep(int)",该符号在函数 "void __cdecl QTest::qWait(int)"中被
在VS2010中开发Qt程序使用QTest遇到error LNK2019Qt包含很多模块(Modules),比如常用的Core library、GUI library、SQL library、OpenGL library、Script library、XML library等,如下图所示Qt4.8所包含的模块:在编程过程中使用到QTest类的qWait方法,先不说此类的作用原创 2013-01-09 19:03:26 · 3491 阅读 · 1 评论 -
C++学习之rand()的用法
计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子。(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后它们又重复出现了。) 我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递转载 2013-01-08 15:00:38 · 1171 阅读 · 0 评论 -
c++学习之异常处理简单用法
C++是一种非常灵活的语言,不过不是特别安全,为了增加C++的安全性,引入的语言特性之一就是异常。异常的定义: 所谓异常就是一种意料之外的情况。例如,如果你编写了一个函数,需要访问一个Web,那么在很多情况下都可能出错,该页面所在的Internet主机可能关机, 页面可能返回空白页面,另外连接有可能中断,,在许多程序设计语言中,对于这种情况的处理是从原创 2012-12-22 13:07:05 · 773 阅读 · 0 评论 -
C++学习之const一般用法
const 引用 你可能经常会看到代码中使用了const 引用参数,表面看来,这好像有些矛盾,引用参数允许你修改来自另一个上下文的变量的值,二const 好像正式避免这种修改。 const引用参数的主要意义在于它能提高效率,想一个函数传递一个变量时,会建立一个完整的副本,如果传递一个引用,实际上传递了原变量的指针,这样计算机无需建立副本。通过建立一个const原创 2012-12-22 13:05:26 · 492 阅读 · 0 评论 -
一道编程题
// test.cpp : Defines the entry point for the console application.//#include "stdafx.h"//实验原理:假设开始时传教士、野人和船都在右岸,用数组(a,b,c)分别表示右岸传教士个数、右岸野人个数、船的位置,则可分为三种情况讨论: //A、n>m/2。此种情况下,先把所有的野人度过去,每次返回一转载 2012-12-29 17:01:31 · 790 阅读 · 0 评论 -
#if define (abc)与#ifdef abc 有什么区别?
基本一样的,前者的应用更灵活,至少它支持布尔操作比如&&,||,是吧?你可以参考一下:谁知道#ifndef 和#if !define 的区别? 如果没有区别的话,应该怎么用? --------------------------------------------------------------- 基本上一样,不过后者的应用范围更大,可以支持多个预编译变量的检查: #if翻译 2012-09-18 14:06:48 · 1361 阅读 · 0 评论 -
C++ 全局变量、局部变量、静态全局变量、静态局部变量的区别
全局变量、局部变量、静态全局变量、静态局部变量的区别C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从作用域看:全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。静转载 2012-10-09 11:35:35 · 555 阅读 · 0 评论 -
VLD(C++内存检测工具学习2)
本文简要描述一下在Qt应用中使用VLD来检测内存泄露。本次测试环境:QtCreator2.3 + Qt4.7.4-vs2008 + VS2008 Express.1、下载并安装:VLD-2.2: http://vld.codeplex.com/链接:http://vld.codeplex.com/releases/70398/download/261406假定安装到c:/dev/vld转载 2012-09-26 18:39:41 · 2065 阅读 · 0 评论 -
VLD 介绍1(C++工具使用学习)
vs2008 使用Visual Leak Detector检测内存泄漏灵活自由是C/C++语言的一大特色,而这也为C/C++程 序员出了一个难题。当程序越来越复杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严 重,在短时间内对程序不会有太大的影响,这也使得内存泄漏问题有很强的隐蔽性,不容易被发现。然而不管内存泄漏多么轻微,当程转载 2012-09-26 15:00:19 · 1446 阅读 · 0 评论 -
>LINK : fatal error LNK1561: 必须定义入口点
错误解决:>LINK : fatal error LNK1561: 必须定义入口点出现此问题 可能因为程序中没有main函数 或者写错main函数出现的。原创 2012-09-05 14:35:21 · 3322 阅读 · 0 评论 -
Visual Studio 2010 下载及安装方法(图文解说)
Visual Studio 2010 下载及安装方法(图文解说) 2012-02-22 11:16:38| 分类:VC++程序设计 | 标签: |字号大中小 订阅http://blog.sina.com.cn/s/blog_5feacbdf0100iiu4.html 在2010年的4月21日,微软官方发布了一个全新的vStudio 2010 下载转载 2012-07-15 07:57:47 · 12681 阅读 · 3 评论 -
C++学习sizeof()的用法
sizeof()操作符返回类型或数据对象的长度(单位为字节),注意,如果sizeof()操作符用于数组名,得到的将是整个数组中的字节数,但如果sizeof()用于数组元素,则得到的将是元素的长度(单位为字节)。但strlen()函数返回的是存储在数组中的字符串的长度,而不是数组本身的长度。另外strlen()只计算可见的字符,而不把空字符计算在内。原创 2012-05-21 14:03:40 · 615 阅读 · 0 评论 -
C++学习-C++运算符优先级
关系运算符:> 2 >= 3== 5!= 6前4个运算级别高于后两者;关系运算符优先级低于算术运算符优先级;关系运算符优先级高于赋值运算符优先级;原创 2012-05-15 19:50:25 · 494 阅读 · 0 评论 -
C++单实例模式
C++中的单例模式分类: C、C++ 2011-07-29 22:35 261人阅读 评论(0)收藏 举报 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线转载 2012-05-15 15:13:38 · 821 阅读 · 0 评论 -
C++学习
静态数据成员静态数据成员又被称为类变量(他属于这个类,被称为该类的全体对象共享)。class Counter{ public: Counter() ; staticQString ImagePrefix; ~Counter() ;};int原创 2012-05-15 17:17:49 · 468 阅读 · 0 评论 -
C++静态成员函数学习
类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时原创 2012-09-11 17:39:10 · 577 阅读 · 0 评论 -
回调函数中调用类中的非静态成员变量或非静态成员函数
回调函数中调用类中的非静态成员变量或非静态成员函数【问题】如何在类中封装回调函数? a.回调函数只能是全局的或是静态的。 b.全局函数会破坏类的封装性,故不予采用。 c.静态函数只能访问类的静态成员,不能访问类中非静态成员。 1. 如何让静态函数访问类的非静态成员。 a.声明一静态函数a(),将类实例对象指针做为参数传入。如: class A()原创 2012-09-12 10:10:17 · 1570 阅读 · 0 评论 -
c++基础编程练习17
/*17: 第17题 请编写一个函数fun(char *s),该函数的功能使把字符串中的内容拟置。*/#include using namespace std;char *fun(char *s) ;int main(int argc,char **argv){ char *s= "asfgjvbnm" ; cout getc原创 2012-09-16 17:14:14 · 538 阅读 · 0 评论 -
C++基础编程练习14
/*14: 第14题请别写函数fun,函数的功能使求出二维数组周边元素之和,作为函数值返回。 二维数组中的值在主函数中赋予。*/#include using namespace std;const int n = 4 ;int a[n][n]={11,12,13,14, 15,116,117,18,原创 2012-09-16 15:54:07 · 632 阅读 · 1 评论 -
c++基础编程练习18
/*18: 第18题 编写程序,实现矩阵(3行3列)的转置(即行列互换)。*/#include using namespace std;const int n = 3 ;void fun(int number[][n]) ;void display_array(int number[][n]) ;int main(){ int numb原创 2012-09-16 18:00:27 · 856 阅读 · 0 评论 -
c++基础编程练习11
/*11: 第11题 下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数 fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。*/#include using namespace std ;const int n = 4 ;const int m = 4 ;void fun_right_down(int a[][n原创 2012-09-16 15:58:18 · 732 阅读 · 0 评论 -
c++基础编程练习13
/*13: 第13题 请编写一个函数void fun(int tt[][n],int pp[n]),tt指向一个m行n列的二维函数组, 求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中赋予。*/#include using namespace std;const int m = 4 ;const int n =原创 2012-09-16 15:56:42 · 806 阅读 · 0 评论 -
C++编程基础练习16
/*16: 第16题 请编写一个函数float fun(double h), 函数的功能使对变量h中的值保留2位小数, 并对第三位进行四舍五入(规定h中的值位正数)。*/#include using namespace std;float fun(double h) ;int main(int argc,char **argv){原创 2012-09-16 15:45:38 · 787 阅读 · 0 评论 -
c++基础编程15
/*15: 第15题 请编写一个函数unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w后n-1位的数作为函数值返回。*///如果w是4位的整数,则用函数求出后3位的数作为返回值 ;#include #include using namespace std ;long DI_SHU = 10 ;unsigned fun(unsig原创 2012-09-16 13:28:02 · 876 阅读 · 0 评论 -
vector C++用法
vector C++ 详细用法分类: VC 2009-03-30 09:52 19433人阅读 评论(14)收藏 举报 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够原创 2012-04-17 00:06:00 · 648 阅读 · 0 评论