c/c++
文章平均质量分 59
slsinsiston
这个作者很懒,什么都没留下…
展开
-
《转》/usr/include/regex.h
<br />在GNU C 中要使用规则表达式,需要用到以下几个函数。(定义在/usr/include/regex.h文件中)<br /> * int regcomp (regex_t *compiled, const char *pattern, int cflags)<br /> * int regexec (regex_t *compiled, char *string, size_t nmatch, regmatch_t matchptr [], int<br /> eflags)<转载 2010-10-20 21:38:00 · 1933 阅读 · 0 评论 -
《C语言的缺陷与陷阱》读后总结
我读的这本书是Andrew Koneig 著作的。读完了之后,对我对c语言的理解增加了很多,总结于此,以备我以后或者其他读者学习。第一章:词法陷阱 1、编译程序编译C程序的时候使用的是贪心法,也就是说编译程序讲程序分解成符号的方法是,从左到右一个字符一个字符的读入,如果字符可能组成一个符号,那么再读入下一个字符,判断已经读入的两个字符组成的字符串师父可能是一个符号的组成部分,如果可能,继原创 2011-12-16 16:00:06 · 1359 阅读 · 0 评论 -
C++与java区别
Java:目标是安全性、可移植性和快速开发。被编译成字节码。Java去除了易出错的功能,垃圾回收取代内存管理,放弃了运算符重载和多继承。Java不能自动类型转换,有类型检查;对基本类型有规定的字节大小。C++:更多关注性能,以及与c的兼容。被编译成本地机器码。保留了C的很多功能,如内存管理、指针和预处理。C++没有类型检查,基本类型的字节大小取决于C++(和C)的实现。1 java 是运行原创 2012-11-12 22:32:38 · 753 阅读 · 1 评论 -
C++ new操作符详解
写在前面:我最近写的一些博客都是因为在面试笔试过程中遇到的一个不会的问题,回来总结问题形成的。有些问题回来总结以后,自己对一个问题的理解有了更深的理解。一、问题描述之前腾讯笔试的时候有个题,在指定的内存空间中构造对象,当时不会。昨天汤森路透笔试的时候也有几个关于new原型的题目。之前就知道会用new操作符,但是没有考虑过这些问题,现在总结一下,方便以后查阅。二、new操作符原创 2012-11-28 19:58:27 · 3682 阅读 · 0 评论 -
c/c++/java/python
C虽说C语言在内存管理方面存在严重的缺陷,不过它还是在某些应用领域里称王称霸。对于那些要求最高的效率,良好的实时性,或者与操作系统内核紧密关联的程序来说,C仍然是很好的选择。C良好的可移植性也为它加了分。不过现在很多其他的语言可移植性越来越好,C在这方面的优势可能会逐渐丧失。现有的很多程序可以产生非常棒的C代码,比如语法分析器、GUI Builder等,这时候C语言也是有吸引力转载 2012-10-23 09:26:58 · 998 阅读 · 0 评论 -
C中如何调用C++函数?
使用extern "C" 主要是因为C编译器编译函数时不带参数的类型信息,只包含函数的符号名字。如 int foo( float x )C编译器会将此函数编译成类似_foo的符号,C连接器只要找到了调用函数的符号,就认为连接成功。而C++编译器为了实现函数重载,会在编译时带上函数的参数信息。如它可以把上面的函数编译成类似于_foo_float这样的符号。所以,C调用C++,使用extern "C"转载 2012-08-22 10:12:13 · 968 阅读 · 0 评论 -
内存分配方式
一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,转载 2012-05-09 16:26:15 · 551 阅读 · 0 评论 -
动态规划整理总结(未完待续)
动态规划是一种在数学和计算机科学中使用的,用于求解包含重叠子问题的最优化问题的方法。其基本思想是,将原问题分为相似的子问题,在求解过程中通过子问题的解求出原问题的解。任何思想方法都有一定的局限性,超出了特定条件,它就失去了作用。同样,动态规划也并不是万能的。适用动态规划的问题必须满足最优化原理和无后效性。 1.最优化原理(最优子结构性质) 最优化原理可这样阐述:一个最优化策略具有原创 2012-05-27 20:40:16 · 676 阅读 · 0 评论 -
VC中int,char,char*,const char*,string等类型转换
1. char* to string string s(char *); 注:在不是初始化的地方最好用assign(). !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2. string to const char* string a="strte"; const char* r=a.c_str(); 注意是const的。还要转到char*转载 2010-11-17 14:45:00 · 1711 阅读 · 0 评论 -
linux下获取进程绝对路径的方法
从网上找到的两种方法1、比较简单的一种,直接利用库函数getcwd()#include char *getcwd(char *buf, size_t size);作用:把当前目录的绝对地址保存到 buf 中,buf 的大小为 size。如果 size 太小无法保存该地址, 返回 NULL 并设置 errno 为 ERANGE。 getcwd(原创 2011-11-23 16:04:09 · 1501 阅读 · 0 评论 -
c语言常用数学函数
函数列表:abs()求绝对值fabs()求浮点数的绝对值labs()求长整型数的绝对值_cabs()计算复数的绝对值acos()求反余弦asin()求反正弦atan()求反正切atan2()求反正切,按符号判定象限ceil()求不小于某值的最小原创 2011-09-27 15:14:53 · 884 阅读 · 0 评论 -
QT读文件记录文件位置
我们在用文件操作的时候经常会遇到这样的需求,读取文件的一部分内容,进行处理,然后接着读下面的,这个时候我们就需要记录文件的读取位置。经过查资料,看Qt的帮助文档,我找到了一个方法。qint64 QFile::pos ()和f_delay.seek();pos()函数对原创 2011-09-26 10:35:02 · 1583 阅读 · 1 评论 -
sizeof 与 strlen的区别
1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是算符,strlen是函数。 3.sizeof可以用类型做参数,strlen只能用char*做参数转载 2011-09-14 10:27:12 · 497 阅读 · 0 评论 -
void的含义及用法
1.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:void a; 这转载 2011-09-09 15:47:50 · 2597 阅读 · 0 评论 -
(转)C++中extern “C”含义深层探索
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全转载 2011-09-07 16:09:28 · 452 阅读 · 0 评论 -
解决 multiple definition of
总结了解决multiple definition of的方法:问题原因: 当多个文件包含同一个头文件时,并且你的.H里面没有加上条件编译#ifndef TEST_H#define TEST_H#endif就会独立的解释,然后生成每个文件生成独立的转载 2011-09-07 14:44:06 · 857 阅读 · 0 评论 -
字符串匹配算法总结
字符串匹配算法1. 问题描述给定目标字符串 T[0..n-1] (基于 0 的数组,数组长度为 n ),和模式串 P[0..m-1] ,问P 可否匹配 T 中的任意子串,如果可以,返回匹配位置。2.问题分析直观分析暴力法,适用于较小规模的字符串匹配。优化主要有3=种优化办法,分别具体为: Rabin-Karp 算法,有限自动机和 KMP 算法。1、Rabin-K原创 2012-05-04 03:31:53 · 801 阅读 · 0 评论