
c++
贾晓凯2008
这个作者很懒,什么都没留下…
展开
-
c++ sizeof分别获取指针、引用、数组的长度
char* p = new char[500]; char& a = *p; int l1 = sizeof(p); //4 int l2 = sizeof(a); //1 int l3 = sizeof(*p); //1 int l4 = strlen(p); //不固定 到'\0'为止 ZeroMemory(p, 500); // int l5 = strlen(p); //0 char p2...原创 2022-02-17 11:25:15 · 1903 阅读 · 1 评论 -
C++11常用新特性快速一览
转载自https://blog.csdn.net/jiange_zh/article/details/79356417版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/jiange_zh/article/details/79356417最近工作中,遇到一些问题,使用C++11实现起来会更加方便,而线上的生产环境还不支持C++11,于是决定新年开工后,在组内把C++11推广开来,整理以...转载 2021-01-26 17:03:35 · 210 阅读 · 0 评论 -
C++设计模式
设计模式(Design Pattern)代表了最佳的实践,在面向对象的编程中被很多老鸟们反复使用。使用设计模式有很多好处:可重用代码保证代码可靠性使代码更易被他人理解……毫无疑问,设计模式于己、于人、于系统都是多赢的。《设计模式》之于程序员,就好比《圣经》之于耶稣信徒一样,意义可想而知!简述什么是 GoF设计模式的类型创建型模式结构型模式行为型模式N 问设计模式源码地址版权所有:一去丶二三里,转载...转载 2018-05-22 18:33:41 · 186 阅读 · 0 评论 -
#pragma once与#ifndef两种防止头文件二次编译的区别
在最开始接触到C语言的时候,看到很多大牛们写的代码里面就有#ifndef #define #endif 这三条语句,当时不明白什么意思,慢慢的后来自己也开始用了,也知道了他们合起来使用时为了防止头文件被二次编译,因为我们曾经写代码的过程中一定遇到过等类似的错误吧。到了学习C++的时候,我们老师给我们看他的代码的时候发现他的头文件里用的是#pragma once,就奇怪这是什么呢?然后私下转载 2016-12-13 11:23:25 · 249 阅读 · 0 评论 -
c++ 遍历目录下文件
function:遍历目录下所有文件,返回文件总数,子文件夹总数(修改一下可以获得全部文件名等)。[cpp] view plain copy #include "stdlib.h" #include "direct.h" #include "string.h" #include "io.h" #includ转载 2016-11-25 17:25:24 · 357 阅读 · 0 评论 -
让TinyXML保存文件为UTF-8格式
TinyXML是个好东西,这个不用我多说了,我用它做过好几个项目,但这几个项目都只是从xml文件中获取信息,没有涉及到写文件,最近需要生成xml的配置文件,才注意到这个问题,那就是TinyXML似乎不能保存文件为UTF-8格式。我用UltraEdit打开生成的xml文件,UltraEdit把它识别为ASCII格式的文本文件,而通过二进制查看,也确实如此,我看了下帮助文档,也没具体提及到这个转载 2016-11-24 16:13:38 · 666 阅读 · 0 评论 -
C语言中%d,%o,%f,%e,%x的意义
格式说明由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。不同类型的数据用不同的格式字符。 格式字符有d,o,x,u,c,s,f,e,g等。 如%d整型输出,%ld长整型输出,%o以八进制数形式输出整数,%x以十六进制数形式输出整数,%u以十进制数输出unsigned型数据(无符号数)。转载 2016-07-19 15:51:24 · 1070 阅读 · 0 评论 -
char,wchar_t比较
C语言相关 对应于char, C语言中也有宽字符内型wchar_t。wchar_t被定义为: typedef unsigned short wchar_t ;显然它是16位的。wchar_t类型的常字串应该这样写: L"hello" 。因此可以这样定义一个宽字符指针wchar_t *pwc=L"hello";。 对于字符串函数, C语言中也有两个版本。如对应于strlen有wc转载 2016-04-29 11:38:48 · 1483 阅读 · 0 评论 -
一些系统类的头文件(一)
Class Header_fileCAnimateCtrl afxcmn.CArchive afx.hCArchiveException afx.hCArray afxtempl.hCAsyncMonikerFile afxole.hCAsyncSocket afxsock.hCBitmap afxwin.hCBitmapButton afxext.h转载 2016-04-12 14:09:19 · 1142 阅读 · 0 评论 -
《C++标准程序库》学习笔记 -- 第二章
由于是开篇,本文所讲都很基础,但这些基础内容对后面的学习是非常重要的。1 C++标准C++的标准化是一个漫长的过程。为何要标准化?作为一个语言,如果不设立相应的标准规格那是万万不能的。世界上有很多C++程序员,他们都有各自的编程风格,如果不做统一的话,那么这门语言将会演变出相当多个版本,这也会让C++进入分崩离析的状态,其中的一个严重后果就是兼容性问题,因而,标准化是必不可少的,转载 2016-04-12 11:52:59 · 324 阅读 · 0 评论 -
char与wchar_t的区别 ANSI Unicode
有的人爱用strcpy等标准ANSI函数,有的人爱用_tXXXX函数,有必要把来龙去脉搞清楚。 为了搞清这些函数,就必须理请几种字符类型的写法。char就不用说了,先说一些wchar_t。wchar_t是Unicode字符的数据类型,它实际定义在里:typedef unsigned short wchar_t; 不能使用类似strcpy这样的ANSI C字符串函数来处理wchar_t字转载 2016-04-11 15:26:19 · 343 阅读 · 0 评论 -
stl -- 适配器
适配器分四类:一. 迭代器适配器:分三类:1. 安插性迭代器2.流迭代器3.逆向迭代器二. 容器适配器三. 算法适配器四.反函数适配器有时间再接着写原创 2016-04-07 18:47:52 · 369 阅读 · 0 评论 -
泛型技术的三个学习阶段(侯捷)-转
就像人们总是把目光放在艳丽的牡丹上而忽视了花旁的绿叶,作为一个广为人知的面向对象程序语言(OOPL),C++所支持的另一种思维模式:泛型,被严重 忽略了。说起红花绿叶,好像主观上划分了主从,其实面向对象思维和泛型思维两者之间无分主从。两者相辅相成,对程序开发将带来更大的突破。 面对新技术,我们的障碍在于心中的怯懦和迟疑。To be or not to be, that is the转载 2016-04-01 18:05:15 · 607 阅读 · 0 评论 -
国外程序员整理的 C++ 资源大全
关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz 发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。 标准库C++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard转载 2016-04-01 17:27:44 · 278 阅读 · 0 评论 -
extern用法:C文件和C++文件之间的函数互调
首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。 通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块转载 2016-04-01 10:00:42 · 553 阅读 · 0 评论 -
函数调用的区别:_cdecl以及_stdcall
一、概念1)_stdcall调用 _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,由调用者完成压栈操作,被调函数自身在返回前清空堆栈。 WIN32 Api都采用_stdcall调用方式,这样的宏定义说明了问题: #define WINAPI _stdcall 按C编译方式,_stdcall调用约定在输出函数名前面加下划线,后面加转载 2016-04-01 09:22:36 · 321 阅读 · 0 评论 -
C++异常以及错误处理
计算机应用程序中离不开错误处理,尤其是生产型大型软件系统。应用软件系统运行属于循环处理事务,出错后需要保证不能让软件程序直接退出。这就需要使用一定的程序容错处理来应对。一般情况下,大型软件开发中的软件系统容错处理会结合异常处理、错误代码定义的使用与相应的出错处理日志记录,包括一定的参与大型生产系统的监控系统等配合保障系统的稳定性。下面本章将会就C++软件系统中提供的异常处理作详细的讲述,包括基本概转载 2016-03-31 14:43:15 · 688 阅读 · 0 评论 -
c++基础知识---名字空间
namespace 是C++中的一个新的特性,它的出现只要是为了避免出现名字污染。JAVA语言中的packing包和C++的namespace功能差不多*************************************************************************1.引入namespace的理由这是一个非常非常重要的特性,它使得C++可以更加方便地转载 2016-03-31 14:15:55 · 301 阅读 · 0 评论 -
迭代器是什么
在学习c++ STL的时候,整天碰到迭代器,也整天用,但是,到底它是个什么东西,很多人没有一个认识。这里我通过几个小的DEMO,来看看迭代器。首先我实现了一个十分简陋的vector类:template class T> class vector { private: T* pbegin; int n; //当前大小 public:转载 2016-03-21 09:15:43 · 417 阅读 · 0 评论 -
名字修饰约定extern "C"与extern "C++"浅析
所谓名字修饰约定,就是指变量名、函数名等经过编译后重新输出名称的规则。 比如源代码中函数名称为int Func(int a,int b),经过编译后名称可能为?Func@@YAHHH@Z、?Func@@YGHHH@Z、_Func@8,也有可能与源代码中名称相同为Func。 影响编译后输出的名称通常与名字修饰约定(extern "C"、extern "C++"等)和函数调用约转载 2016-03-18 11:46:57 · 296 阅读 · 0 评论 -
TinyXML入门
如下是一个XML片段: 周星星 20 白晶晶 18 在TinyXML中,根据XML的各种元素来定义了一些类: TiXmlBase:整个TinyXML模型的基类。转载 2016-02-14 10:02:56 · 248 阅读 · 0 评论 -
Invoke与BeginInvoke
一、为什么 Control类提供了 Invoke和 BeginInvoke机制?关于这个问题的最主要的原因已经是 dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。1、 windows程序消息机制Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵。这个消息泵让 windows程序生生不息。转载 2016-02-02 13:42:35 · 235 阅读 · 0 评论 -
结构体和类向前声明
在编译程序是出现了如下错误, 类或结构体的前向声明只能用来定义指针对象或引用,因为编译到这里时还没有发现定义,不知道该类或者结构的内部成员,没有办法具体的构造一个对象,所以会报错。 将类成员改成指针就好了。 程序中使用incomplete type实现前置声明有助与实现数据的隐藏。要求调用对象的程序段只能使用声明对象的引用或者指针。在显式声明异常规范的时候不能使用incomplete转载 2016-01-31 13:24:16 · 3141 阅读 · 0 评论