
C++
文章平均质量分 68
sinat_35297665
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++继承父类的子类,如何调用父类的同名函数?
https://blog.youkuaiyun.com/qq_26399665/article/details/52080215子类调用父类的同名函数: 子类和父类返回值参数相同,函数名相同,有virtual关键字,则由对象的类型决定调用哪个函数。 子类和父类只要函数名相同,没有virtual关键字,则子类的对象没有办法调用到父类的同名函数,父类的同名函数被隐藏了,也可以强制调用父类的同名...转载 2018-08-03 21:58:33 · 13953 阅读 · 0 评论 -
【C/C++】关键字static
http://blog.youkuaiyun.com/woxiaohahaa/article/details/51014224参考自:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/19/2598815.html (华山大师兄)这里我们只讨论了C语言的static首先我们回顾一下各种变量在内存中的位置:转载 2017-12-29 11:39:36 · 175 阅读 · 0 评论 -
C++的静态成员函数指针
http://blog.youkuaiyun.com/sky453589103/article/details/47276789先简单的说说非静态的成员函数。非静态成员函数指针的类型: 类的非静态成员是和类的对象相关的。也就是说,要通过类的对象来访问变量。成员函数的类型定义为: typedef void (A::*pfunc)(); A是一个类,有一转载 2018-01-12 11:35:37 · 2121 阅读 · 0 评论 -
C++学习之普通函数指针与成员函数指针
http://blog.youkuaiyun.com/lisonglisonglisong/article/details/38353863函数指针(function pointer)是通过指向函数的指针间接调用函数。相信很多人对指向一般函数的函数指针使用的比较多,而对指向类成员函数的函数指针则比较陌生。我最近也被问到了这方面的问题,心中却也没有清晰的答案。故决定去查阅资料,并按照自己的思路写下这转载 2018-01-12 11:29:12 · 163 阅读 · 0 评论 -
类中的静态成员函数访问非静态成员变量
http://blog.youkuaiyun.com/u011857683/article/details/522943531.思路:静态成员函数属于类(通过类访问,调用函数时没有提供this指针),非静态成员函数属于实例(通过对象访问)(默认都提供了this指针),非静态成员也属于实例(通过对象访问),所以,要想在静态成员函数访问非静态成员变量,无非就是实例化一个对象,然后通转载 2018-01-12 11:03:07 · 1133 阅读 · 0 评论 -
C++静态成员函数访问非静态成员的几种方法
https://www.cnblogs.com/rickyk/p/4238380.html大家都知道C++中类的成员函数默认都提供了this指针,在非静态成员函数中当你调用函数的时候,编译器都会“自动”帮你把这个this指针加到函数形参里去。当然在C++灵活性下面,类还具备了静态成员和静态函数,即class A{public: static void test(转载 2018-01-12 10:53:24 · 5331 阅读 · 0 评论 -
C++ 类模板二(类模版与友元函数)
http://www.cnblogs.com/zhanggaofeng/p/5661829.html//类模版与友元函数#includeusing namespace std;templateclass Complex{public: Complex(T a,T b); void Print() const//const修饰的是this指针 {转载 2018-01-03 11:21:32 · 339 阅读 · 0 评论 -
C++中的inline用法
https://www.cnblogs.com/fnlingnzb-learner/p/6423917.html1. 引入inline关键字的原因在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。在系统下,栈转载 2017-12-27 10:28:16 · 149 阅读 · 0 评论 -
C++的沉迷与爱恋
每年的 09/28 於我都是一个特殊的日子 -- 不只是因为教师节。今年很特殊地没有普天同庆,那麽我就写篇文章自己庆祝一下好了。我於今年七月发表了一本着作《多型与虚拟》和一本译作《深度探索C++物件模型》,获得很大的回响。这些作品都不是针对 C++ 的完全初学者所写,但从初阶到高阶为数众多的 C++ guy,热情地表达了他们对这些主题的喜悦。在许多来信中,我看到一些有趣的现象,也感受到一些转载 2017-12-18 11:38:49 · 354 阅读 · 0 评论 -
转:C++中const、volatile、mutable的用法
const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value值不可变。 例如:const int nValue; //nValue是转载 2017-12-18 11:13:45 · 151 阅读 · 0 评论 -
C++中友元(友元函数和友元类)的用法和功能
http://blog.youkuaiyun.com/adriano119/article/details/5914443/采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,转载 2017-11-25 11:48:19 · 196 阅读 · 0 评论 -
C++子类对象隐藏了父类的同名成员函数(隐藏篇)
http://blog.youkuaiyun.com/alpha_love/article/details/75222175#include #include #include using namespace std;/** * 定义人类: Person * 数据成员: m_strName * 成员函数: attack() */class Person{转载 2017-11-23 12:36:46 · 283 阅读 · 0 评论 -
C++ 函数隐藏
C++该函数隐藏只有基类成员函数的定义已声明virtualkeyword,当在派生类中的时间,以支付功能实现,virtualkeyword可以从时间被添加以增加。它不影响多状态。easy混淆视听,掩盖:,规则例如以下: 1) 假设派生类的函数与基类的函数同名,可是參数不同。此时,不论有无virtualkeyword,基类的函数将被隐藏(注意别与重载混淆)转载 2017-11-23 12:26:45 · 1345 阅读 · 1 评论 -
c++ 智能指针用法详解
http://www.cnblogs.com/TenosDoIt/p/3456704.html本文介绍c++里面的四个智能指针: auto_ptr, shared_ptr, weak_ptr, unique_ptr 其中后三个是c++11支持,并且第一个已经被c++11弃用。为什么要使用智能指针:我们知道c++的内存管理是让很多人头疼的事,当我们写一个new语句时,一般就会立即转载 2017-11-06 11:32:26 · 296 阅读 · 0 评论 -
C++中的函数指针和函数对象总结
http://www.cnblogs.com/lvpengms/archive/2011/02/21/1960078.html篇一、函数指针函数指针:是指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。函数指针的用途是很大的,主要有两个作用:用作调用函数和做函数的参数。函数指针的声明方法:数据类型标志符 (指针变量名)转载 2017-11-06 11:01:43 · 546 阅读 · 0 评论 -
详解C++中的函数调用和下标以及成员访问运算符的重载
http://www.jb51.net/article/78436.htm这篇文章主要介绍了详解C++中的函数调用和下标以及成员访问运算符,讲到了这些二元运算符使用的语法及重载,需要的朋友可以参考下函数调用使用括号调用的函数调用运算符是二元运算符。语法?1primary-expression ( express转载 2017-11-03 17:08:42 · 776 阅读 · 0 评论 -
[C++基础]034_C++模板编程里的主版本模板类、全特化、偏特化(C++ Type Traits)
http://www.cnblogs.com/alephsoul-alephsoul/archive/2012/10/18/2728753.html1. 主版本模板类 首先我们来看一段初学者都能看懂,应用了模板的程序: 1 #include 2 using namespace std; 3 4 templateclass T1, class T2>转载 2017-11-03 14:12:17 · 156 阅读 · 0 评论 -
STL运用的C++技术(6)——函数对象
http://blog.youkuaiyun.com/wuzhekai1985/article/details/6658940?_t_t_t=0.20427969420870595 STL是C++标准库的重要组成部分之一,它不仅是一个可复用的组件库,更是一个包含算法与数据结构的软件框架,同时也是C++泛型编程的很好例子。STL中运用了许多C++的高级技术。本文介绍函数对象,其实是接上一篇的话题,转载 2017-10-25 23:47:46 · 239 阅读 · 0 评论 -
Linux C++ 实现线程池
http://blog.youkuaiyun.com/qq_25425023/article/details/53914609线程池中的线程,在任务队列为空的时候,等待任务的到来,任务队列中有任务时,则依次获取任务来执行,任务队列需要同步。 Linux线程同步有多种方法:互斥量、信号量、条件变量等。 下面是根据互斥量、信号量、条件变量封装的三个类。 线转载 2018-01-22 23:49:41 · 201 阅读 · 0 评论 -
auto_ptr
#include #include using namespace std;class A{public: A() { cout<<"构造"<<endl; } ~A() { cout<<"A析构"<<endl; } void fun() { cout<<"A::fun"<<endl; }};class PA{public: PA(A* pa原创 2018-01-09 21:47:02 · 148 阅读 · 0 评论 -
C++子类父类成员函数的覆盖和隐藏实例详解
https://www.jb51.net/article/117380.htm函数的覆盖 覆盖发生的条件:(1) 基类必须是虚函数(使用virtual 关键字来进行声明) (2)发生覆盖的两个函数分别位于派生类和基类 (3)函数名和参数列表必须完全相同函数的隐藏 隐藏发生的条件:(1)子类和父类的函数名相同,参数列表可以不一样看完下面的例子就明白了#include "iostream" ...转载 2018-07-14 15:26:13 · 918 阅读 · 0 评论 -
C++子类对象隐藏了父类的同名成员函数(隐藏篇)
https://blog.youkuaiyun.com/alpha_love/article/details/75222175#include <iostream>#include <stdlib.h>#include <string>using namespace std;/** * 定义人类: Person * 数据成员: m_strName * 成员函数: attac...转载 2018-07-14 14:49:09 · 739 阅读 · 0 评论 -
string类的基本实现
https://blog.youkuaiyun.com/qq_29503203/article/details/52265829在面试中面试官常常会让你写出string类的基本操作,比如:构造函数,析构函数,拷贝构造等等.下面是除此之外的一些操作,希望可以帮助你更好的理解string以便以后的运用:String& operator=(const String& s);char* c_str()...转载 2018-07-05 15:18:08 · 403 阅读 · 0 评论 -
C++的单例模式与线程安全单例模式(懒汉/饿汉)
https://www.cnblogs.com/qiaoconglovelife/p/5851163.html1 教科书里的单例模式 我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实例的动作由一个public的类方法代劳,该方法也返回单例类唯一的实例。 上代码: 1...转载 2018-07-13 21:57:08 · 160 阅读 · 0 评论 -
一文说尽C++赋值运算符重载函数(operator=)
http://www.cnblogs.com/zpcdbky/p/5027481.html在前面: 关于C++的赋值运算符重载函数(operator=),网络以及各种教材上都有很多介绍,但可惜的是,内容大多雷同且不全面。面对这一局面,在下在整合各种资源及融入个人理解的基础上,整理出一篇较为全面/详尽的文章,以飨读者。正文:Ⅰ.举例例1#include<iostream>#i...转载 2018-06-20 00:02:51 · 179 阅读 · 0 评论 -
转圈踢人问题
https://www.cnblogs.com/lanxuezaipiao/p/3339603.html有N个人围一圈依次报数,数到3的倍数的人出列,问当只剩一个人时他原来的位子在哪里?解答:经典的转圈踢人问题,好吧专业一点,约瑟夫环问题,相信大家都会,下面给我的code:int main(){ int N, i, j; printf("Please enter the num...转载 2018-06-25 23:48:23 · 291 阅读 · 0 评论 -
白话C++系列(27) -- RTTI:运行时类型识别
http://www.cnblogs.com/kkdd-2013/p/5601783.htmlRTTI—运行时类型识别RTTI:Run-Time Type Identification。那么RTTI如何来体现呢?这就要涉及到typeid和dynamic_cast这两个知识点了。为了更好的去理解,那么我们就通过一个例子来说明。这个例子大家已经非常熟悉了,如下:首先定义一个Flyable类,在这个类当...转载 2018-06-25 22:23:25 · 323 阅读 · 0 评论 -
C++中String类的实现
https://www.cnblogs.com/zhizhan/p/4876093.html原文:http://noalgo.info/382.htmlString是C++中的重要类型,程序员在C++面试中经常会遇到关于String的细节问题,甚至要求当场实现这个类。只是由于时间关系,可能只要求实现构造函数、析构函数、拷贝构造函数等关键部分。String的实现涉及很多C++的基础知识、内存控制及异...转载 2018-05-11 22:18:36 · 186 阅读 · 0 评论 -
C++智能指针(三)总结
https://blog.youkuaiyun.com/nou_camp/article/details/70195795在上一篇博客中(C++智能指针(二))模拟实现了三种智能指针。 其中最好的就是shared_ptr,但是这并不代表它就是最完美的,它也有问题,这个问题就是循环引用问题。下面用一段代码来解释说明循环引用问题。#include<memory>struct ListNode{...转载 2018-04-24 17:46:58 · 226 阅读 · 0 评论 -
C++智能指针(二)模拟实现三种智能指针
https://blog.youkuaiyun.com/nou_camp/article/details/70186721在上一篇博客中提到了Auto_ptr(C++智能指针(一)),下面进行模拟实现Auto_ptr 采用类模板实现#include<iostream>using namespace std;template<class T>class Autoptr{publ...转载 2018-04-24 17:46:18 · 157 阅读 · 0 评论 -
C++智能指针(一)智能指针的简单介绍
https://blog.youkuaiyun.com/nou_camp/article/details/70176949C++智能指针 在正式了解智能指针前先看一下下面的一段代码#include<iostream>using namespace std;class A{public: A() :_ptr(NULL), _a(0) {} ~A() ...转载 2018-04-24 17:45:30 · 160 阅读 · 0 评论 -
c++仿函数 functor
https://www.cnblogs.com/decade-dnbc66/p/5347088.html内容整理自国外C++教材 先考虑一个简单的例子:假设有一个vector<string>,你的任务是统计长度小于5的string的个数,如果使用count_if函数的话,你的代码可能长成这样:1 bool LengthIsLessThanFive(const string& ...转载 2018-05-01 11:07:31 · 220 阅读 · 0 评论 -
C++ String类写时拷贝 4
http://blog.51cto.com/zgw285763054/1839752 维基百科: 写入时复制(英语:Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略。其核心思想是,如果有多个调用者(callers)同时要求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正转载 2018-02-05 20:36:16 · 254 阅读 · 0 评论 -
C++ 写时拷贝 3
http://blog.youkuaiyun.com/ljianhui/article/details/22895505字符串一种在程序中经常要使用到的数据结构,然而在C中却没有字符串这种类型。在C++中,为了方便字符串的使用,在STL中提供了一个string类。该类维护一个char指针,并封装和提供各种的字符串操作。一、为什么要实现隐式公享写时拷贝试想一下,如果我们要自己实现一个st转载 2018-02-05 20:35:21 · 198 阅读 · 0 评论 -
C++ 写时拷贝 2
什么情况下会用到c++中的拷贝构造函数】: 1)用已经存在的同类的对象去构造出另一个新的对象 2)当函数的形参是类的对象时,这时调用此函数,使用的是值的拷贝,也会调用拷贝构造函数 3)当函数的返回值是类的对象时,这时当函数调用完后,会将函数的对象拷贝构造出一个临时的对象并传给函数的返回处【浅拷贝】:(位拷贝(值拷贝))1、概念:所谓的浅拷贝就是当转载 2018-02-05 20:34:28 · 191 阅读 · 0 评论 -
c++写时拷贝1
http://blog.youkuaiyun.com/SuLiJuan66/article/details/48882303Copy On WriteCopy On Write(写时复制)使用了“引用计数”(reference counting),会有一个变量用于保存引用的数量。当第一个类构造时,string的构造函数会根据传入的参数从堆上分配内存,当有其它类需要这块内存时,这个计数为转载 2018-02-05 20:32:33 · 220 阅读 · 0 评论 -
Linux C++ 实现线程池
http://blog.youkuaiyun.com/qq_25425023/article/details/53914609线程池中的线程,在任务队列为空的时候,等待任务的到来,任务队列中有任务时,则依次获取任务来执行,任务队列需要同步。 Linux线程同步有多种方法:互斥量、信号量、条件变量等。 下面是根据互斥量、信号量、条件变量封装的三个类。 线程池转载 2018-01-20 11:24:34 · 2124 阅读 · 0 评论 -
从零开始学C++之STL(八):函数对象、 函数对象与容器、函数对象与算法
http://blog.youkuaiyun.com/jnu_simba/article/details/9500219一、函数对象1、函数对象(function object)也称为仿函数(functor)2、一个行为类似函数的对象,它可以没有参数,也可以带有若干参数。3、任何重载了调用运算符operator()的类的对象都满足函数对象的特征4转载 2017-10-25 23:38:41 · 156 阅读 · 0 评论 -
C++11新特性之八——函数对象function
http://www.cnblogs.com/yyxt/p/3987717.html详细请看《C++ Primer plus》(第六版中文版)http://www.cnblogs.com/lvpengms/archive/2011/02/21/1960078.html备注:函数对象:尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的转载 2017-10-25 23:29:34 · 301 阅读 · 0 评论 -
函数指针指向类的静态成员函数
转载:http://www.cnblogs.com/dongyanxia1000/p/4906592.html1. 代码 1 #include 2 #include 3 using namespace std; 4 class Point 5 { 6 public: 7 Point(int x=0,int y=0):x(x),y(y) 8转载 2017-10-03 23:40:51 · 1015 阅读 · 0 评论