![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++/C
文章平均质量分 70
zhuxianjianqi
这个作者很懒,什么都没留下…
展开
-
将clock_t转化为秒值在Windows与Linux平台下的差异
平时写测试程序的时候常常要计算程序执行的时间,尤其是最近练习Intel多核编程时,需要判断打开openmp参数与否的执行时间的比较。通常代码是这样写的:#include clock_t start, stop;....start = clock();do_something();stop = clock();printf("%f", (double)(sto转载 2012-04-03 13:04:04 · 2912 阅读 · 0 评论 -
heap corruption detected错误解决方法调试方法以及内存管理相关
1、heap corruption detectedhttp://vopit.blog.51cto.com/2400931/645980 heap corruption detected:after normal block(#xxx) at 0x xxxxxxxxcrt detected that the application wrote to menory after end转载 2013-05-18 17:25:23 · 3159 阅读 · 0 评论 -
引用与指针的比较
函数是C++/C程序的基本功能单元,其重要性不言而喻。函数设计的细微缺点很容易导致该函数被错用,所以光使函数的功能正确是不够的。本章重点论述函数的接口设计和内部实现的一些规则。函数接口的两个要素是参数和返回值。C语言中,函数的参数和返回值的传递方式有两种:值传递(pass by value)和指针传递(pass by pointer)。C++ 语言中多了引用传递(pass by referen原创 2013-05-18 21:29:55 · 1266 阅读 · 0 评论 -
error C2662: 不能将“this”指针从“const Node_align”转换为“Node_align &”解决方案
先贴代码void Insert2NodeAlign(int n1,int n2,int n3,int id){ Node_align DFStmp=Node_align(n1,false,n2,n3,id); DFSNL_i=DFS_Nlist.find(Node_align(DFStmp)); if (DFSNL_i!=DFS_Nlist.end()) { DFS原创 2013-05-17 11:47:06 · 2037 阅读 · 0 评论 -
一些常用的字符操作函数
#include template string ConvertToString(T value) { stringstream ss; ss << value; return ss.str();}string Align_Left(const string &showdata, int space ) { //int spacelong=atoi(spa原创 2012-04-09 11:19:27 · 831 阅读 · 0 评论 -
template<int N> struct A和template<const int N> struct A有区别吗?
个人认为如果你这么模版仅仅处理逻辑上是没任何区别的..但是我以前碰到过这样的情况..下面我来说一下..曾经我创建了一个模版 传入的是一个char*运行一直很正常.有一天我突然发现程序会无缘无故崩溃..后来找出原因..因为我传入的一个字符串数据的地址发生了问题..后来发现我模版接收的数据为char*可能是我在传入后做了其他的操作造成了他的地址发生了变化..或者是个临时变量等等问题..转载 2013-05-07 16:25:07 · 2765 阅读 · 0 评论 -
c 语言的模块化
当你在一个项目小组做一个相对较复杂的工程时,意味着你不再独自单干。你需要和你的小组成员分工合作,一起完成项目,这就要求小组成员各自负责一部分工程。比如你可能只是负责通讯或者显示这一块。这个时候,你就应该将自己的这一块程序写成一个模块,单独调试,留出接口供其它模块调用。最后,小组成员都将自己负责的模块写完并调试无误后,由项目组长进行组合调试。像这些场合就要求程序必须模块化。模块化的好处是很多的,不仅原创 2013-05-12 15:17:50 · 1028 阅读 · 0 评论 -
C语言模块化要点
在C语言的应用领域,如通讯领域和嵌入式系统领域,一个的软件项目通常包含很多复杂的功能,实现这个项目不是一个程序员单枪匹马可以胜任的,往往需要一个团队的有效合作,另外,在一个以C代码为主的完整的项目中,经常也需要加入一些其他语言的代码,例如,C代码和汇编代码的混合使用,C文件和C++的同时使用。这些都增加了一个软件项目的复杂程度,为了提高软件质量,合理组织的各种代码和文件是非常重要的。原创 2013-05-12 21:02:31 · 1943 阅读 · 0 评论 -
error LNK1169: 找到一个或多个多重定义的符号”的解决方法
问题描述如下:有 三个源文件,A.h、B.cpp、C.cpp。A.h是头文件,其中声明了三个变量a1、a2、 a3。B.cpp是A.h中所声明的类的实现源代码,C.cpp是主程序文件。B.cpp和C.cpp中均包含头文件 A.h。在编译时,编译能够通过,但链接时出了问题,出现”error LNK1169: 找到一个或多个多重定义的符号“的错误。经过分原创 2013-05-12 10:46:08 · 1617 阅读 · 0 评论 -
如何将二维数组(静态的和动态的)作为函数的参数传递
今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不至于再在这上面浪费时间。 下文是我从互联网上download的一篇文章,讲的很好,但是我后面将指出问题所在,并加以改进,希望对你有所帮助: 首先,我引用了谭浩强先生编原创 2013-06-08 22:44:20 · 2380 阅读 · 0 评论 -
C/C++对Unicode编码的处理
一直都觉得C++对Unicode编码的处理比较麻烦,现就个人经验对这一方面做个总结。Unicode编码 在计算机科学领域中,Unicode(统一码、万国码、单一码、标准万国码)是业界的一种标准,它可以使电脑得以呈现世界上数十种文字的系统。Unicode是基于通用字符集(Universal Character Set)的标准来发展,并且同时也以书本的形式(The Unicod转载 2014-03-23 21:09:45 · 8755 阅读 · 0 评论 -
C++ UNICODE 文件读写相关(转载)
2012-04-15 19:34:36| 分类: windows | 标签:c++(mfc) |举报|字号 订阅用C++读写unicode文本http://librawill.blogspot.com/2008/08/cunicode_2881.html熟悉一下字符类型,char, wchar_t, TCHAR,最熟悉的char是单转载 2014-03-23 21:37:52 · 3674 阅读 · 0 评论 -
C语言编程优化运行速度
2011-12-23 11:45 449人阅读 评论(0) 收藏 举报优化语言c编程编译器float目录(?)[+]1、选择合适的算法和数据结构选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部转载 2013-04-25 10:46:14 · 796 阅读 · 0 评论 -
typedef详解
1、问题引入: 接触了typedef多时,对它的了解是:用来声明一个别名,typedef后面的语法,是一个声明。 其实,他同define的差别是比较大的,不仅仅是替换问题。 如下 typedef int a[10]; typedef void(*p)(void) typedef int Fun() ; 用上面的概念能解释了吗?是用a[10]来代替Int吗?原创 2013-04-24 17:39:56 · 838 阅读 · 0 评论 -
C指针——函数指针
函数名与函数指针一 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x); //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){ MyFun(10); //这里是调用MyFun(10);函数原创 2013-04-24 17:29:22 · 517 阅读 · 0 评论 -
如何将int,double转std::string? (C/C++) (template)
std::string为library type,而int、double为built-in type,两者无法互转,这里使用function template的方式将int转std::string,将double转std:string。 1/* 2(C) OOMusou 2006 http://oomusou.cnblogs.com 3 4Filename : Ar转载 2012-04-08 10:20:31 · 2357 阅读 · 0 评论 -
视C++为一个语言联邦.
最近在看Effective C++. 相信一开始接触C++的人都会被C++搞晕掉.因为C++的类库如此之多,而且守则都不一样.如何利用做开发真的很晕迷.其实在Effective C++中的条款01:视C++为一个语言联邦,真的是很简单清楚的给出了C++这个语言一个明了的概述.C++是一个语言的联邦.就像美国是联邦政府一样.C++也是一个联邦政府,是4个次语言的联邦,这4个次语言的守则原创 2012-03-20 21:18:02 · 1188 阅读 · 0 评论 -
[初学者的困惑] 堆和栈的区别 (转)
一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(s转载 2012-03-20 21:20:59 · 831 阅读 · 0 评论 -
VC++6.0与VS的区别(代码移植中发现的区别,待添加)
1. 在VC++6.0中,读文件操作函数用FILE *fp=fopen(filename, "r+"); 在VS2008中则为 FILE *fp; fopen_s(&fp,filename, "r+");2、在在VC++6.0中,写文件更效率的方法是 ofstream outfile(filename); 然后 outfile 在VS2008中要实现同一功能则可以将要写入文件的原创 2012-04-11 14:11:42 · 2540 阅读 · 0 评论 -
C语言函数调用方式的区别
通常在使用VC进行函数定义时会指定该函数调用方式,诸如: int __stdcall max(int a, int b) { return a>b?a:b; } int __cdecl min(int a, int b) { return a } bool __fastcall equal(int a原创 2012-04-26 14:58:10 · 865 阅读 · 0 评论 -
C和C++混合编程(error C2059: syntax error : 'string')
extern "C"表示编译生成的内部符号名使用C约定。C++支持函数重载,而C不支持,两者的编译规则也不一样。函数被C++编译后在符号库中的名字与C语言的不同。例如,假设某个函数的原型为:void foo( int x, int y ); 该函数被C编译器编译后在符号库中的名字可能为_foo,而C++编译器则会产生像_foo_int_int之类的名字(不同的编译器可能生成的名字不同,但是都采用了转载 2012-10-07 18:54:47 · 11228 阅读 · 0 评论 -
【转载】fatal error C1010: unexpected end of file while looking for precompiled header directive
分类: Visual Studio编程技巧2006-12-04 10:01 50179人阅读 评论(42) 收藏 举报在编译VC++6.0是,出现fatal error C1010: unexpected end of file while looking for precompiled header directive 的错误.解决方法:1、如果发生错误的文件是由其他的C转载 2012-10-07 18:42:55 · 842 阅读 · 0 评论 -
C++中数组参数传递
#include//传递数组参数的几种方式void printValues(const int a [10]){ for(int i=0;i!=10;i++) cout} void printValues2(int a [10]){ for(int i=0;i!=10;i++) cout原创 2012-10-14 14:49:36 · 980 阅读 · 0 评论 -
C程序中高维数组的动态分配与释放
在C程序中可调用如下函数进行高维数组的动态分配与释放。高维数组动态分配函数://--- for dynamic memory allocation --- /************原创 2012-10-21 21:17:35 · 1171 阅读 · 0 评论 -
int在64位机或64位编译器中到底占用几个字节
数据类型 LP64 ILP64 LLP64 ILP32 LP32 char 8 8 8 8 8 short 16 16 16 16 16 _int32 N/A 32 N/原创 2012-12-11 10:53:19 · 14447 阅读 · 1 评论 -
C++11
C++11,先前被称作C++0x,即ISO/IEC 14882:2011,是目前的C++编程语言的正式标准。它取代第二版标准ISO/IEC 14882:2003(第一版ISO/IEC 14882:1998公开于1998年,第二版于2003年更新,分别通称C++98以及C++03,两者差异很小)。新的标准包含核心语言的新机能,而且扩展C++标准程序库,并入了大部分的C++ Technical转载 2013-03-11 10:18:12 · 17885 阅读 · 0 评论 -
程序员永远的痛之字符编码的奥秘
字 符编码相信是每个程序员的噩梦,只要是有中文的地方,总是会遇到各种编码的问题,并且这种问题还非常难缠,尤其在linux上,因为上面很多软件都是针对 英语国家开发的,是不会考虑其他语种编码问题。在遇到编码的无数大坑之后,我决定仔细研究下编码问题,因为这就像一道坎一直横在你面前,每次到这里你都会 跌到,每次爬起来之后,你都若无其事,这样的人被称作战士,真正的战士。可惜是个力量战士,做为新时代的智力战转载 2014-03-26 16:58:18 · 2091 阅读 · 0 评论