![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习
文章平均质量分 61
cshanzhizi
做事认真负者,学习能力强,分析解决问题能力强
展开
-
调试时使用assert函数
void assert (int expression); 该函数包含在头文件内 其功能为当参数表达式为假时停止程序的执行(调用abort()函数),并向标准错误设备写相关的信息,其格式通常为 “Assertion failed:expression, filefilename, line line number"。 当在程序的头部包含原创 2013-04-12 16:36:12 · 389 阅读 · 0 评论 -
C语言中异常处理的两个函数
与刺激的abort()和exit()相比,goto语句看起来是处理异常的更可行方案。不幸的是,goto是本地的:它只能跳到所在函数内部的标号上,而不能将控制权转移到所在程序的任意地点(当然,除非你的所有代码都在main体中)。为了解决这个限制,C函数库提供了setjmp()和longjmp()函数,它们分别承担非局部标号和goto作用。头文件申明了这些函数及同时所需的jmp_buf数据类型原创 2013-05-13 10:26:31 · 740 阅读 · 0 评论 -
深入浅出C/C++中的正则表达式库(三)——PCRE, PCRE++
写在前面:本文是《深入浅出C/C++中的正则表达式库》系列的第三篇,本文的主要内容是介绍PCRE和PCRE++,因为它们两个是很有渊源的,所以放在一起讲。1. 什么是PCRE? 什么是PCRE++?PCRE,全称是Perl Compatible Regular Expressions。从名字我们可以看出PCRE库是与Perl中正则表达式相兼容的一个正则表达式库。PCRE是免费开源的库,转载 2013-05-12 14:43:05 · 772 阅读 · 0 评论 -
C++库 POCO
POCO C++库是开源的用于简化和加速C++开发面向网络、可移植应用程序的C++库集,POCO库和C++标准库可以很好的集成并填补了C++标准库缺乏的功能空隙。POCO库的模块化、高效的设计及实现使得POCO特别适合嵌入式开发。在嵌入式开发领域,由于C++既适合底层(设备I/O、中断处理等)和高层面向对象开发,越来越流行。当然POCO也准备好了面对企业级挑战。官方网站:http://poco原创 2013-05-12 08:46:58 · 937 阅读 · 0 评论 -
深入浅出C/C++中的正则表达式库(二)——Boost.Regex
写在前面:本文是《深入浅出C/C++中的正则表达式库》系列的第二篇,如果对本文感兴趣,相信你也会对《深入浅出C/C++中的正则表达式库——GNU Regex Library》感兴趣。本文主要介绍Boost中的正则表达式库,通过介绍其基本内容与相关接口,希望能够教读者朋友学会如何使用该库。1. 什么是Boost.Regex? Boost是C++中仅次于STL的一套库,它的功能比STL更加转载 2013-05-12 14:33:06 · 797 阅读 · 0 评论 -
pcre简介
PCRE(Perl Compatible Regular Expressions中文含义:perl语言兼容正则表达式)是一个用C语言编写的正则表达式函数库,由菲利普.海泽(Philip Hazel)编写。PCRE是一个轻量级的函数库,比Boost之中的正则表达式库小得多。PCRE十分易用,同时功能也很强大,性能超过了POSIX正则表达式库和一些经典的正则表达式库。和Boost正则表达式库的转载 2013-05-12 14:53:07 · 979 阅读 · 0 评论 -
POSIX 线程详解
线程是有趣的了解如何正确运用线程是每一个优秀程序员必备的素质。线程类似于进程。如同进程,线程由内核按时间分片进行管理。在单处理器系统中,内核使用时间分片来模拟线程的并发执行,这种方式和进程的相同。而在多处理器系统中,如同多个进程,线程实际上一样可以并发执行。那么为什么对于大多数合作性任务,多线程比多个独立的进程更优越呢?这是因为,线程共享相同的内存空间。不同的线程可以存取内存中的同转载 2013-05-12 16:14:17 · 434 阅读 · 0 评论 -
c++类的几点注意事项
1、可变数据成员(由mutable修饰),在const函数中可以修改 class Screen{ public: Screen(); Screen(string str) ; b原创 2013-05-10 21:37:23 · 854 阅读 · 0 评论 -
TinyXml 文档
TinyXml 文档TinyXML是一个简单小巧,可以很轻易集成到其它法度中的C++ XML解析器。它能做些什么简单地说,TinyXML解析一个XML文档并由此生成一个可读可批改可保存的文档对象模型(DOM)。XML的意思是“可扩大标识表记标帜说话“(eXtensible Markup Language)。它容许你创建你本身的文档标识表记标帜。在为浏览器标识表记标帜文档方面转载 2013-04-12 17:03:18 · 631 阅读 · 0 评论 -
关于比赛安排的求解问题
设有2^n(n队 1 2 3 4比赛 1-2 3-4 第一天1-3 2-4 第二天1-4 2-3 第三天该问题用分治法来解决,这个思想没有问题,但我找了很多资料发现都是用数组来保存结果。虽然分析问题时有分治的思想,但在代码的形式中并没有体现出分治的思想,经过自己的研究,写了一下几个程序。1、不加任何修饰,只体现算法思想的代码如下:#原创 2013-05-04 19:08:33 · 674 阅读 · 0 评论 -
iostream 迭代器
1、istream_iterator 读取输入流 ostream_iterator 读取输出流2、几个程序 (1) #include #include #include using namespace std;int main(){ istream_iterator in_iter(cin); //将迭代器与输入流绑定 istream原创 2013-05-03 21:49:35 · 354 阅读 · 0 评论 -
Posix线程编程指南(2)
概念及作用在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据。在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有。但有时应用程序设计中有必要提供线程私有的全局变量,仅在某个线程中有效,但却可以跨多个函数访问,比如程序可能需要每个线程维护一个链表,而使用相同的函数操作,最简单的办法就是使用同名而不同变量地址的线程相关数据结构。这样的数据结构可以由Posix线转载 2013-05-15 17:12:05 · 348 阅读 · 0 评论 -
c++判断文件是否存在
方法1:利用fstream 和ifstream(1)用fstream#include #include using namespace std;#define FILENAME "test.txt"int main(){ fstream _file; _file.open(FILENAME,ios::in);原创 2013-04-22 17:11:32 · 1039 阅读 · 0 评论 -
c++开发小技巧
1、#ifndef NDEBUG cout #endif当需要在测试时输出一些信息,以查看程序的执行情况时,使用上面的语句,输出相关信息;待最终打包程序时,在程序的头部添加语句 #define NDEBUG,使上面的语句失效对于提供定义NDEBUG的命令行选项的编译器,不许添加 #define NDEBUG,只需在最终生成可执行程序时,使用 cc - DNDEBUG m原创 2013-04-22 17:53:32 · 474 阅读 · 0 评论 -
使用多线程的利弊
1. Amdahl定律 一个很简单的量化公式,用来计算一个程序中串行部分所占多少对程序加速比的影响或者用来计算计算机硬件配置中某个设备的速度提高能够将整个系统的速度提高多少。 假设一个串行程序执行的总时间为1,不能被并行化的部分占的时间比例为p,即串行化的部分为p,可并行化的时间为:1-p。如果用n个核用来加速的话,加速比为: 如果转载 2013-05-14 10:51:49 · 407 阅读 · 0 评论