c++
20kg镀金
这个作者很懒,什么都没留下…
展开
-
模板与using
template<typename T, typename U, int value>class type{public: T a; U b; type():a(value), b(value){}};template<typename U>template type<std::vector<int>, U, 1>...原创 2020-04-04 14:13:21 · 139 阅读 · 0 评论 -
C语言中的回调函数(Callback Function)
1 定义和使用场合回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数。函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是所谓的回调函数。简单来说,就是由别人的函数运行期间来回调你实现的函数。这一设计允许了底层代码调用在高层定义的子程序(如图1...转载 2019-04-02 23:19:00 · 411 阅读 · 0 评论 -
C++中的关键字 volatile 详解
引子突然想到一个解释volatile关键字的很好的例子。就当做引子,来讲一讲这个关键字吧。const int iNum = 0;int *iPtr = const_cast<int*>(&iNum);*iPtr = 5; cout << "iNum = "<< iNum << endl;cout << "*i转载 2018-12-03 13:45:33 · 648 阅读 · 0 评论 -
C++ 从内存布局看C++虚继承的实现原理
2015年08月27日 16:49:10 Fred^_^ 阅读数:6886 标签: 虚基类原理内存布局 更多个人分类: C++拾遗版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Xiejingfa/article/details/48028491转载请标明:http://blog.csdn.net/xiejingfa/articl...转载 2018-12-04 15:00:30 · 262 阅读 · 0 评论 -
linux网络编程之-----多播(组播)编程
什么是多播 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途。 多播,也称为“组播”,将局域网中同一业务类型主机进行了逻辑上的分组,进行数据收发的时候其数据仅...转载 2018-10-17 16:32:30 · 395 阅读 · 0 评论 -
c++ 中 char 与 string 之间的相互转换
第一部分:将 char * 或者 char [] 转换为 string可以直接赋值,转换。 第二部分:将 string 转换为 char * 或者 char [] string 是c++标准库里面其中一个,封装了对字符串的操作 把string转换为char* 有 3种方法: 1. 调用 stri...转载 2018-10-12 09:14:47 · 5135 阅读 · 0 评论 -
RTTI之typeid
在揭开typeid神秘面纱之前,我们先来了解一下RTTI(Run-Time Type Identification,运行时类型识别),它使程序能够获取由基指针或引用所指向的对象的实际派生类型,即允许“用指向基类的指针或引用来操作对象”的程序能够获取到“这些指针或引用所指对象”的实际派生类型。在C++中,为了支持RTTI提供了两个操作符:dynamic_cast和typeid。 dynamic...转载 2018-05-24 11:13:01 · 235 阅读 · 0 评论 -
C++标准转换运算符dynamic_cast
dynamic_cast运算符,应该算是四个里面最特殊的一个,因为它涉及到编译器的属性设置,而且牵扯到的面向对象的多态性跟程序运行时的状态也有关系,所以不能完全的使用传统的转换方式来替代。但是也因此它是最常用,最不可缺少的一个运算符。与static_cast一样,dynamic_cast的转换也需要目标类型和源对象有一定的关系:继承关系。 更准确的说,dynamic_cast是用来检查两者是否有继...转载 2018-05-23 18:42:37 · 114 阅读 · 0 评论