![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
ɴᴏʀɪɴsᴀɴᴇ
努力学习,努力赚钱
展开
-
STL Iterators - Part 1
本文描述 了STL 迭代器,并介绍了泛型的中心思想。1.Iterators(迭代器)基本概念考虑一个简单的算法find.在序列中查找特定的值(元素的线性集合) 从beginning搜索,直到找到value或到达end作为一个抽象的算法,这是很清楚的,但是我们能不能在不指定我们处理的是什么样的序列的情况下实现它呢?任何实现都必须回答以下问题:如何指定序列的开始? 如...原创 2019-10-27 17:34:57 · 171 阅读 · 0 评论 -
如何改写一个类中虚函数的行为
我们都知道C++中的多态是通过虚函数来实现的。举个例子:class Base{public: virtual void display() { cout << "Base" << endl; }};class Derived1 :public Base{ void display() { cout << "Derived1"...原创 2019-09-14 23:43:06 · 353 阅读 · 0 评论 -
C++11中的lambda表达式
1.什么是lambdaC++ 98/03标准并不原生支持匿名函数,如果你想实现类似的功能的话,可以利用Boost.Lambda来实现一个匿名函数。但是从C++11以来,C++提供了我们一个强有力的工具,允许我们编写一个匿名的函数,它可以方便你写一些短小的代码,这些代码不会被重用,也不值得命名。 表达式最简单的定义如下:[ capture clause ] (parameters) -&g...原创 2019-07-28 12:15:50 · 157 阅读 · 0 评论 -
C++中的内联函数
1.什么是内联函数简单来说,在 c 和 c + + 编程语言中,一个带有inline标识符的函数,我们称其为inline函数。类似的函数标识符,还有virtual,explicit。明白了这个定义之后,我们接下来解释一下为什么需要内联函数。2.为什么需要内联函数我们都知道,当程序执行 function call 指令时,CPU会存储函数调用后指令的地址,复制堆栈上函数的参数,最后...原创 2019-07-27 15:31:15 · 269 阅读 · 0 评论 -
为什么你要尽量用auto
总的来说,使用auto可以帮助你实现正确、高效的变量声明,让代码更健壮,可维护性更高。1.auto更安全由于auto声明的变量,其类型推导自初始化物,所以他们必须被初始化。int x; //可以未初始化auto x; //error, 必须被初始化auto x = 1; //ok, x -> int这样就避免了你使用一个未初始化变量而不小心引出的bug。2....原创 2019-08-04 12:53:34 · 572 阅读 · 0 评论 -
C++中的左值和右值
如何定义左值和右值给出一个关于左值和右值的严格定义还是比较困难的,不过为了你快速的理解,你可以这么认为:C语言中,lvalue 是一个可以出现在赋值的左侧或右侧的表达式 ,而 rvalue 是一个只能出现在赋值的右侧的表达式。 比如说: int a = 42; int b = 43; // a and b are both l-values: a = b; // ok...原创 2019-08-03 18:58:32 · 339 阅读 · 0 评论 -
如何写一个可接受任意数量参数的函数
在 c++11之前,编写带有任意数量参数的函数的唯一方法是使用可变参数函数,最有名的要数 C Runtime Library 的 printf (...)。如果您曾经使用这种方法编写过代码,你就会知道这种方法有多么麻烦。 除了类型不安全之外,还需要纠正一些错误。而且,每次使用都要小心翼翼,说不定哪里就出错了。所以,下面给大家介绍一个超cool的东西,可变参数模板。可变参数模板直接来看...原创 2019-07-29 23:41:11 · 3068 阅读 · 1 评论 -
提升 C++ 技能的 7 种方法
原文地址:http://blog.jobbole.com/112246/夏天时常会谈到大海、太阳、沙滩、大山或者你的家庭住宅。更充裕的时间也是夏天带来的好处之一。可能是因为你在休假,也可能是因为这段时间工作没有那么忙。无论是哪种情况,与一年中的其他季节相比,夏天的时间似乎更加宽裕。你有两个选择:1)把所有夏季空闲时间都用来休整,适当放松一下没什么不可以。2)或者你可以投入一部分空闲转载 2017-10-17 13:56:03 · 10226 阅读 · 2 评论 -
可变长结构体
在Linux系统里,/usr/include/linux/if_pppox.h里面有这样一个结构:struct pppoe_tag { __u16 tag_type; __u16 tag_len; char tag_data[0];} __attribute ((packed));最后一个成员为可变长的数组,对于TLV(Type-L转载 2017-10-20 13:31:14 · 1156 阅读 · 0 评论 -
STL vector用法介绍
原文地址暂时不知,作者看到请联系。介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。 Vector总览vector是C++标准模板库中的部转载 2017-10-11 16:27:44 · 206 阅读 · 0 评论 -
函数指针作为某个函数的参数及定义函数指针
原文地址:http://blog.csdn.net/vlily/article/details/7244682一、 定义某一函数的指针类型:就像自定义数据类型一样,我们也可以先定义一个函数指针类型,然后再用这个类型来申明函数指针变量。我先给你一个自定义数据类型的例子。typedef int* PINT; //为int* 类型定义了一个PINT的别名int main()转载 2017-10-18 14:05:15 · 1495 阅读 · 0 评论 -
理解typename的两个含义
原文地址:http://dev.yesky.com/13/2221013.shtml问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? template class Widget; // uses "class"template class Widget; // uses "typename"转载 2017-10-18 10:05:03 · 273 阅读 · 0 评论 -
C/C++基础知识:typedef用法小结
原文地址:http://www.kuqin.com/language/20090322/41866.html用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef c转载 2017-09-26 09:23:10 · 205 阅读 · 0 评论 -
C++ Virtual详解
原文地址:http://www.cnblogs.com/xd502djj/archive/2010/09/22/1832912.htmlVirtual是C++ OO机制中很重要的一个关键字。只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类B转载 2017-08-24 13:55:32 · 181 阅读 · 0 评论 -
C++虚函数与纯虚函数用法与区别
1. 虚函数和纯虚函数可以定义在同一个类(class)中,含有纯虚函数的类被称为抽象类(abstract class),而只含有虚函数的类(class)不能被称为抽象类(abstract class)。 2. 虚函数可以被直接使用,也可以被子类(sub class)重载以后以多态的形式调用,而纯虚函数必须在子类(sub class)中实现该函数才可以使用,因为纯虚函数在基类(ba转载 2017-08-26 10:14:07 · 219 阅读 · 0 评论 -
C++类静态成员与类静态成员函数
原文地址:http://blog.sina.com.cn/s/blog_5f0d72800100swkz.html当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态方法就是与该类相关的,是类的一种行为,而不是与该类的实例对象相关。转载 2017-07-28 16:57:15 · 154 阅读 · 0 评论 -
C++中引用(&)的用法和应用实例
原文地址:http://www.cnblogs.com/Mr-xu/archive/2012/08/07/2626973.html对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。在 c++学习提高篇(3)---隐式指针的文章转载 2017-07-27 15:49:38 · 237 阅读 · 0 评论