
【C++】
文章平均质量分 78
Linux兵工厂
分享Linux、网络、驱动、C/C++、后台服务、Qt、Python硬核知识,关注+私信=获取Linux资料和代码,免费支持优快云下载。
展开
-
深入理解C++ std::function灵活性与可调用对象的妙用
为我们提供了一种灵活且类型安全的方式来处理可调用对象,使得我们能够更方便地传递、存储和操作函数。是一个强大而灵活的工具,它允许我们将可调用对象(函数、函数指针、Lambda表达式等)包装成一个对象,使得我们可以像操作其他对象一样操作和传递可调用对象。它的主要作用是将可调用对象封装为一个函数对象,提供一种统一的方式来处理各种类型的可调用对象。的实现依赖于模板和类型擦除的技术,通过模板参数推导和多态实现对各种可调用对象的包装。内部维护了一个类型安全的可调用对象的容器,通过虚函数实现对各种类型的调用。原创 2024-02-01 13:39:04 · 288 阅读 · 0 评论 -
C++必知必会之基础知识-常用关键字(2)
一文学会volatile、assert()、sizeof()、#pragma pack(n)使用方法。原创 2023-07-27 15:39:31 · 161 阅读 · 0 评论 -
C++基础知识精髓教程
正所谓万丈高楼平地起,作为一名合格的程序员来说,没有良好的基本功很难达到一定的高度。而工作中大部分编程问题都是基本功不扎实所导致,所以决定花些时间来整理C++相关的基本知识和基本概念供大家参考理解,每一个知识点都结合相关的代码进行验证。本文基本上涵盖了C++最常用的知识点,希望对小伙伴们有所帮助。原创 2022-11-25 09:20:35 · 785 阅读 · 0 评论 -
C++中的函数指针和函数对象总结
http://www.cnblogs.com/lvpengms/archive/2011/02/21/1960078.html篇一、函数指针函数指针:是指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。函数指针的用途是很大的,主要有两个作用:用作调用函数和做函数的参数。函数指针的声明方法:数据类型标志符 (指针变量名)转载 2018-01-30 11:05:38 · 602 阅读 · 0 评论 -
C++文件读写详解(ofstream,ifstream,fstream)
在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:这里主要是讨论fstream的内容:[java] view plaincopyprint?#include ofstream //文件写操作 内存写入存储设备 ifstream转载 2014-03-25 15:14:29 · 596 阅读 · 0 评论 -
C++虚函数表
C++ 中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技 术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚 函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里转载 2014-04-16 14:53:35 · 562 阅读 · 0 评论 -
BSTR及转换 各种编码
BSTR概述 它被描述成一个与自动化相兼容的类型,由于操作系统提供相应的API函数(如SysAllocString)来管理它以及一些默认的调度代码。因此BSTR实际上就是一个COM字符串,但它却在自动化技术以外的多种场合下得到广泛使用。为什么需要BSTR COM是一种跨编程语言的平台,需要提供语言无关的数据类型。多数编程语言有自己的字符串表示。 ●C++ 字符转载 2014-02-18 09:58:15 · 1311 阅读 · 0 评论 -
this 指针
this是类的指针,如果换成结构,this就是结构的指针只有在成员函数里才有this指针的位置普通函数(不论是成员函数,还是静态函数)都不会创建一个函数表来保存函数指针。只有虚函数才会被放到函数表中。但是,即时是虚函数,如果编译器能明确知道调用的是哪个函数,编译器就不会通过函数表中的指针来间接调用,而是会直接调用函数。int*(*(*F)(int,int))(i原创 2013-11-26 10:08:29 · 523 阅读 · 0 评论 -
类大小
一个空类的大小是1,多重继承的空类大小还是1,虚机承涉及到虚表(虚指针)大小为4原创 2013-11-25 10:11:05 · 710 阅读 · 0 评论 -
C++遍历文件夹信息
BSTR CNVSOcxCtrl::JSSearchAllFile(LPCTSTR strFilePath){AFX_MANAGE_STATE(AfxGetStaticModuleState());CString strResult;// TODO: 在此添加调度处理程序代码if ( NULL == strFilePath ){strResult = _原创 2013-11-20 17:09:26 · 929 阅读 · 0 评论 -
引用不能被当做参数多次传递
以下用法不正确:bool DDrawGetPlayInfo(StPlayInfo &stPlayInfo);bool YUVFIFO (StPlayInfo &stPlayInfo){if(DDrawGetPlayInfo(stPlayInfo)) //引用多次传递{return false;}return true;}原创 2013-11-06 15:04:29 · 1126 阅读 · 0 评论 -
fstream用法
fstream的使用方法ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,co转载 2013-11-20 09:19:04 · 768 阅读 · 0 评论 -
C++的多态的几种形式
给出“多态”的定义:一个函数调用在不同的上下文环境(context,可以编译上下文也可以使运行上下文)中被绑定到不同的实体。按照这个定义,“虚拟函数,重载,模板”这三个很容易归为多态的行列,但是“转型”就有一些勉强了。原创 2013-11-19 14:30:30 · 2052 阅读 · 0 评论 -
浏览文件夹对话框
BROWSEINFO Visual C++(VC)中,BROWSEINFO结构中包含有用户选中目录的重要信息。 (1)BROWSEINFO结构 ●定义 typedef struct_browseinfo { HWND hwndOwner; LPCITEMIDLIST pidlRoot; LPSTR pszDisp原创 2013-11-19 13:50:22 · 929 阅读 · 0 评论 -
虚函数的实现机制
写英文博客是一件不太容易的事情啊••今天总结一下虚函数的实现原理,用英文对我来说难度挺大的,所以就中文啦••O(∩_∩)O~,下面有些语言可能说的有点奇怪,那是因为我自己翻译了一下自己看到C++英文教程,所以可能在语言组织及其理解上有一定的偏差,欢迎大家指正。O(∩_∩)O谢谢 说到虚函数的实现方法,我们就不得不说到动态联编(dynamic binding)和静态联编(sta转载 2013-11-19 14:40:32 · 792 阅读 · 0 评论