![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 64
朱bryant
这个作者很懒,什么都没留下…
展开
-
追求尽美
现在做开软件开发,针对用户涉及到用户的输入时,都会用到一些数和字符号串的转换。这是一个相对比较简单的问题,但是却也能很好的考验一个人的思维方法和对字符串的学习理解程度。其实判断一个字符串是不是数字、查数字字符串否英文式格式,这两个问题在boost库中能够找到解决的方法,但是如果让你用对char 和 string的操作来实现,不去静心想一下,大家可能未必写的出。记的找第一份工作的时候转载 2013-11-07 23:44:27 · 572 阅读 · 0 评论 -
如何终止线程的运行(C/C++)
如何终止线程的运行(C/C++)想要终止线程的运行,可以使用以下方法: 1、线程函数返回(最好使用该方法)。 2、通过调用ExitThread函数,线程将自行撤消(最好不使用该方法)。 3、同一个进程或另一个进程中的线程调用TerminateThread函数(应避免使用该方法)。 4、ExitProcess和TerminateProcess函数也可以用来终止线程的运行(应避免使转载 2013-11-10 22:31:16 · 4293 阅读 · 0 评论 -
seekg()/seekp()与tellg()/tellp()的用法详解
对输入流操作:seekg()与tellg()对输出流操作:seekp()与tellp()下面以输入流函数为例介绍用法:seekg()是对输入文件定位,它有两个参数:第一个参数是偏移量,第二个参数是基地址。对于第一个参数,可以是正负数值,正的表示向后偏移,负的表示向前偏移。而第二个参数可以是:ios::beg:表示输入流的开始位置ios::cur:表示输入流的当前位置io转载 2013-11-07 23:25:57 · 687 阅读 · 0 评论 -
c++多线程(一)
多线程的简介线程---操作系统调度的最小单位。线程包含在进程中,是进程中实际运行的单位。一个进程中可以同时运行多个线程,每个线程可以执行不同的任务,这就是所谓的多线程。同一进程中的多个线程将共享该进程中的全部系统资源,如虚拟地址空间、文件描述符和信号处理等,但是同一个进程中的多个线程都有各自的调用栈、寄存器环境和线程本地存储。 对于单核(单CPU)系统来说,即便处理器一转载 2013-11-10 22:26:15 · 495 阅读 · 0 评论 -
c++多线程(三)
多线程实例4此实例演示你的机器最多能创建多少个线程。此实例程序相当简单。线程函数:[cpp] view plaincopyvolatile BOOL m_bRUN = TRUE; //表示是否能继续添加线程 DWORD WINAPI ThreadProc(LPVOID lpParam) { while转载 2013-11-10 22:28:28 · 582 阅读 · 0 评论 -
c++多线程(四)
线程间通信主线程创建子线程必定会为主线程分担一部分工作,这样不可避免的会在这两个线程之间存在消息传递渠道,因此主线程和子线程之间要进行通信。 下面介绍几种通信方式:全局变量:由于同一进程的各个线程之间共享该进程的资源,因此,解决线程间通信最简单的方式是使用全局变量。对于标准类型的全局变量,使用validate修饰符,不让编译器对其优化,因为编译器如果对其转载 2013-11-10 22:29:31 · 577 阅读 · 0 评论 -
如何成为一个C++高级程序员(收藏)
C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在 C++ 的使用范围比以前已经少了很多,java、C#、python 等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器。 现在学习 java、C#等语言的人数远远高于C转载 2013-11-11 23:06:04 · 491 阅读 · 0 评论 -
stdlib.h简介
stdlib 头文件即standard library标准库头文件stdlib 头文件里包含了C、C++语言的最常用的系统函数该文件包含了C语言标准库函数的定义stdlib.h里面定义了五种类型、一些宏和通用工具函数。 类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_转载 2013-12-03 22:55:57 · 2391 阅读 · 0 评论 -
try和异常处理
C++ 的异常处理中包括:throw 表达式,错误检测部分使用这种表达式来说明遇到了不可处理的错误。可以说,throw 引发了异常条件。try 块,错误处理部分使用它来处理异常。try 语句块以 try 关键字开始,并以一个或多个 catch 子句结束。在 try 块中执行的代码所抛出(throw)的异常,通常会被其中一个 catch 子句处理。由于它们“处理”异常,catch 子转载 2013-12-22 22:23:40 · 576 阅读 · 0 评论 -
c++多线程(二)
多线程实例二此实例演示采用CreateThread函数在主线程中创建一个线程,并且向创建的线程中传递一个参数。由于采用MFC编程,自动生成的代码比较多,还是列出部分实现多线程的代码。线程函数:[cpp] view plaincopyvoid ThreadProc(int count) { for (转载 2013-11-10 22:27:29 · 552 阅读 · 0 评论 -
结构体字节对齐
在用sizeof运算符求算某结构体所占空间时,并不是简单地将结构体中所有元素各自占的空间相加,这里涉及到内存字节对齐的问题。从理论上讲,对于任何 变量的访问都可以从任何地址开始访问,但是事实上不是如此,实际上访问特定类型的变量只能在特定的地址访问,这就需要各个变量在空间上按一定的规则排列, 而不是简单地顺序排列,这就是内存对齐。内存对齐的原因:1)某些平台只能在特定的地址处访问特定类型的数转载 2013-11-09 00:19:45 · 449 阅读 · 0 评论 -
从VC6.0平台级到VS2008平台(之二)
3、模板特殊化(Template specialization)模板的特殊化是当模板中的pattern有确定的类型时,模板有一个具体的实现。例如假设我们的类模板pair 包含一个取模计算(module operation)的函数,而我们希望这个函数只有当对象中存储的数据为整型(int)的时候才能工作,其他时候,我们需要这个函数总是返回0。这可以通过下面的代码来实现:template c转载 2013-11-07 23:47:09 · 633 阅读 · 0 评论 -
从VC6.0平台级到VS2008平台(之三)
6、新的C++编译器不再支持默认类型的变量定义错误现象是:f:/project/...../WzCheckBox.cpp(464) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int产生这个错误的原因是程序中出现了这样的代码:const s转载 2013-11-07 23:47:50 · 532 阅读 · 0 评论 -
从VC6.0平台级到VS2008平台(之四)
10、类成员函数指针做为函数参数的“C3867”错误 考察下面的代码,CWzWindowsHook类的构造函数使用一个该类的成员函数指针,这样构造对象时可以选择消息过滤的handler,可以是MouseMsgFilter,也可以是KeyboardMsgFilter:typedef BOOL (CWzWindowsHook::*FILTERPROC)(WPARAM wParam转载 2013-11-07 23:48:31 · 562 阅读 · 0 评论 -
std::locale::global 的问题
相信大家都碰到过VS2005和VS2008中使用std::ofstream打开包含中文的文件目录的问题吧。解决方法是网上一致传诵的:std::locale::global(std::locale("")); // 解决std::ofstream.open()中文路径文件名问题global函数应该返回前一个locale对象,但是看了它的源码,返回的是 _Oldglobal,而这个转载 2013-11-07 23:37:47 · 2177 阅读 · 0 评论 -
关于VS2008中的targetver.h文件
targerver.h文件的作用:定义程序运行的环境,如限制程序只能在XP下运行,限制程序在只能在Vin7下运行或限制程序只能在XP以上系统运行,或限制程序只能在Server2003以上系统运行...用法:#ifndef WINVER //程序中没有定义WINVER宏时#define WINVER 0x0600转载 2013-11-07 23:49:47 · 791 阅读 · 0 评论 -
_T("")的问题
1、定义_T("")是一个宏,定义于tchar.h下。[1]#define __T(x) L ## x#define _T(x) __T(x)2、作用他的作用是让你的程序支持Unicode编码,因为Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双转载 2013-11-07 23:53:06 · 609 阅读 · 0 评论 -
从VC6.0平台级到VS2008平台(之一)
从VC6.0平台级到VS2008平台最近在在把一些程序从VC6迁移到VS2008,由此而关注到一些这方面的知识,找了一些资料,根据自己遇到的一些情况,结合在一起,整理出来这篇文章,希望对以后有这方面工作的人多一些参考,如果大家还有可很享的可以跟贴。。。。1、关于 #define WINVER提到这个问题是因为,这里涉及到Winodws版本的定义。关于版本定义的关键无外乎为程序头文件中对转载 2013-11-07 23:46:13 · 546 阅读 · 0 评论 -
sizeof,终极无惑
0. 前向声明sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,转载 2013-11-09 00:17:31 · 430 阅读 · 0 评论 -
c为什么定义字符串常量,而且要放入到常量区,还要用一个char *,类型定义
形如这个样子:int a,float b,char *p="12343drf";1、a,b要放入到常量区的,这个无庸置疑;2、那么有时候,我想定义一些状态,做为返回值给我的用户;用enum当然是个好办法,用标准的 #define XXX ss也没有什么不可以;用enum的情况,他只能返回定义好的数字值,这个不多说,不明白,自己去观察内存;用宏定义,你也只能是定义在.h或者是.c转载 2014-04-01 23:40:16 · 1414 阅读 · 0 评论