内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

当前分类:

> 软件编程 > C++教程 >

  • C++模板元编程:编译期类成员检测01月15日

    最近困扰了我几天的问题终于解决了。 问题是这样的 我现在定义一个模板类: template class T foo{}; 我现在希望模板类 foo 实现以下功能: 当 T 类型中定义了类型 type 的时候,在 foo 内定义 using type = typename T:: type ; 当 T 类型中没有定义类型 ty

    Tags:C++
  • Caffe源码解读之从目录说起(一)01月15日

    Caffe是一个十分成熟的深度学习框架,使用它也有一段时间了,一直停留在参数配置和模型使用上,接下来将以庖丁解牛的方式从源码和运行原理角度解析Caffe。 Clone它的源码之后不妨看看Caffe的目录。其中,data/ 用于存放下载的训练数据,docs/ 帮助文档,examp

    Tags:Caffe
  • Caffe源码解读之Blob(二)01月15日

    阅读Caffe的源码不必全部看,这样反而达不到目的,理解关键部分即可。现在我们来看Blob结构部分,按头文件和核心文件来阅读,即 /include和 /src部分,推荐使用Atom来看。 在/include/blob.hpp中定义了了Blob的数据结构。 explicit Blob(const int num, cons

    Tags:Caffe
  • C++中带状态元编程黑科技(一):不固定的常量表达式01月14日

    译者注:本文不适合于C++初学者。读懂这篇文章可能需要较多的C++经验,请谨慎选择是否阅读。 介绍 在下面这段代码中,实现函数 f() 使得 static_assert 不被触发,这看起来不可能吧? // 在这里填入你的答案 int main () { constexpr int a = f(); constexpr

    Tags:C++
  • C++头文件系列:deque01月14日

    简介 deque是 d ouble e nded que ue(即双端队列)的简称。 就像C++中的 大部分 容器的一样,deque具有以下属性: 顺序的(sequence) 动态增长的(dynamic growing) 自定义内存分配的(allocator-aware) 动态内存分配 容器的顺序性(或序列性)和内存分

    Tags:C++deque
  • c++函数重载的编译器内部实现机制01月14日

    对于c++来说,多个函数可以同名,但是这些函数的参数类型必须不一样,也就是说c++中相同的函数名函数参数不同代表了不同的函数,当你去调用这些函数时,编译器可以根据你的传入参数的类型去判断你调用的是哪个函数。但是c++编译器是怎么实现的呢? 先看看c对

    Tags:c++函数重载编译器
  • 写给立志做程序员的应届毕业生们01月14日

    1.确定方向 1.1选择比努力更重要 关于方向的选择其实越早确定越好,生活中我们要面临无数个选择,前几天看的一个黑客相关的美剧中有句台词说的不错: lifeisbinary,生活就是二进制,一个个0101组成的。每一次抉择,选了就是1,不选就是0。另外也有一句话说

    Tags:程序员
  • boost大学之智能指针01月14日

    智能指针:Smart Pointer 很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,之所以文章的名称叫boost大学,是因为个人觉得其博大精深,值得仔细研读学习原理。 这一篇主要是介绍智能指针的,主要介绍boost中提供的三个常用的智能指针模板。

    Tags:boost指针
  • C++中的多态01月14日

    一,多态的理论推导 1.类型兼容性原则 在上一节的C++中的继承中介绍了什么是类型兼容性原则。所谓的类型兼容性原则是指子类公有继承自父类时,包含了父类的所有属性和方法,因此父类所能完成的功能,使用子类也可以替代完成,子类是一种特殊的父类。所以可以

    Tags:C++
  • mac如何写c c++代码?01月14日

    3年前买的macbook pro,现在上了大学,学的是计算机科学与技术专业,什么dev c++,vc都没有mac版的,然后就开始寻找有没有什么软件可以写c和c++,其实苹果公司自家的Xcode就是一个不错的IDE,它也是可以写c和c++的。 以下是具体的步骤 打开Xcode Xcode打开界

    Tags:c++
  • 使用node-pre-gyp加速二进制包安装01月13日

    node-pre-gyp是一个分发nodejs二进制程序包的工具,负责将预编译好的二进制程序直接下载到用户目录。它介于npm与node-gyp之间,只在相应平台二进制包不存在时才调用node-gyp编译。 node-pre-gyp存在的意义是什么呢?一些简单的nodejs C++扩展直接从源代码编

    Tags:SQLiteNode.jsC++
  • C++类型引用浅析01月13日

    引言 从最早被 Bjarne Stroustrup 发明,作为 C 语言的扩展,到广为人知 C++98 标准,再到最新的 C++11 、 C++14 和 C++17 标准, C++ 一直在不断地进步、演化。面向对象、泛型编程、模板、 range based for 、 lamnda 表达式,一个又一个强大的功能概念被不

    Tags:C++
  • OpenCV示例学习笔记(1):contours2.cpp-通过findContours 函数01月13日

    1.findContours函数 轮廓检测 函数原型: void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, int method, Point offset=Point()); 参数说明: image:输入图像必须为一个2值单通道图像 contours:

    Tags:OpenCV
  • MARX:Uncovering Class Hierarchies in C++ Programs01月13日

    论文下载 INTRODUCTION 设计与实现了 MARX,一个可以直接重构没有RTTI信息和使用任意编译选项编译的二进制文件的class hierarchies 的框架 使用超过80M的二进制代码进行实验,vtables可以以很高的精确率恢复出来 实现了两个安全相关的应用:vtable protectio

    Tags:C++MARX
  • 使用LeakTracer检测android NDK C/C++代码中的memory leak01月13日

    Memory issue是C/C++开发中比较常遇到,经常带给人比较大困扰,debug起来又常常让人无从下手的一类问题,memory issue主要又分为memory leak,野指针,及其它非法访问等问题。在android平台上,使用NDK开发C/C++ code,由于没有其它成熟的平台,如Windows,L

    Tags:LeakTracerC++
  • C++头文件系列(array)01月12日

    注意,该头文件仅在C++11中标准才开始出现。 简介 与语言内置的数组一样, array类模版支持几乎所有内置数组包含的特性: 顺序的(sequence) 内存连续的(contiguous storage) 固定大小的(fixed-size) 那既然与内置数组一样,为什么还要定义这样一个模版

    Tags:C++array
  • C++模板元编程:lambda表达式简单实现01月12日

    为什么封面这么丑?后面再说。先写一些基本概念吧,包括什么是元函数,什么是元函数类,以及元编程中lambda表达式是什么鬼。 元函数 (metafunction): //为了方便起见,假设 tyPlus 一定返回 int template class T1, class T2 struct tyPlus {using type = ty

    Tags:C++lambda
  • 淺談C++ bind function01月11日

    我們之前在implementRead/Write Lock的時候 wait function裡面我們用了bind 我當時輕描淡寫的帶過了 但其實裡面是有些學問的 今天就來把它一探究竟 其實這在很多語言都有 不要因為你不是main c++的就跳過 正文開始 遙想年少輕狂時 曾有這麼一段過去 readerQ.

    Tags:C++
  • c++虚函数实现机制以及类继承中的内存分布01月11日

    c++为了兼容c保留了struct类型,但是c++中的struct和c有明显的区别,c++中的struct可以继承,可以有成员函数,但是在c中却不行,在c++中struc和class更相似(还是有一些区别的,这里不再叙述),c中struct的内存分布很简单,那么c++中的class(struct)是怎

    Tags:c++虚函数
  • C++中的类和对象(二)01月11日

    一,对象的动态建立和释放 1.什么是对象的动态建立和释放 通常我们创建的对象都是由C++编译器为我们在栈内存中创建的,我们无法对其进行生命周期的管理。所以我们需要动态的去建立该对象,因此我们需要在堆内存中创建对象和释放对象。在C语言中为我们提供了m

    Tags:C++

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号