TH_NUM的博客

日常积累

c++ 使用chrono 统计程序的运行时间

#include <iostream> // std::cout #include <chrono> using namespace std; int main () { std::ch...

2018-08-06 14:47:43

阅读数:20

评论数:0

C++ const_cast用法

const_cast是一种C++运算符,主要是用来去除复合类型中const和volatile属性(没有真正去除)。 变量本身的const属性是不能去除的,要想修改变量的值,一般是去除指针(或引用)的const属性,再进行间接修改。 用法:const_cast(expression) 通过co...

2018-08-06 09:55:40

阅读数:4

评论数:0

c++11 stl atomic_flag 例子

测试代码- #include <iostream> // std::cout #include <atomic> // std::atomic_flag #include &...

2018-08-03 20:05:22

阅读数:12

评论数:0

c++11 为什么使用ref,和引用的区别

std::ref只是尝试模拟引用传递,并不能真正变成引用,在非模板情况下,std::ref根本没法实现引用传递,只有模板自动推导类型时,ref能用包装类型reference_wrapper来代替原本会被识别的值类型,而reference_wrapper能隐式转换为被引用的值的引用类型。 其中代表...

2018-08-03 13:24:08

阅读数:13

评论数:0

c++ std::move

std::move 通常,rvalues是无法通过解除引用来获取其地址的值,因为它们是文字或因为它们本质上是临时的(例如函数或显式构造函数调用返回的值)。 通过将对象传递给此函数,可以获得引用它的rvalue。 标准库的许多组件实现移动语义,允许直接转移对象的资产和属性的所有权,而无需在参数为...

2018-07-26 10:15:42

阅读数:12

评论数:0

c++ Lambda函数学习

Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C#)或者即将提供(比如 Java)的。简而言之,Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Microsoft Visual Studio...

2018-07-26 09:51:17

阅读数:21

评论数:0

c++ define 定义工厂函数,使用##连接

c++ define 定义工厂函数,其中define函数名使用##连接 # include<stdio.h> # include <stdlib.h> //atoi # include &...

2018-07-25 17:27:32

阅读数:26

评论数:0

CUDA查询和选取设备信息

CUDA C中的cudaGetDeviceProperties函数可以很方便的获取到设备的信息。 #include "cuda_runtime.h" #include "device_launch_parameters.h&quo...

2018-07-25 15:51:16

阅读数:20

评论数:0

c++ 智能指针 shared_ptr

# include<stdio.h> # include <stdlib.h> //atoi # include <string.h&...

2018-07-25 14:14:09

阅读数:16

评论数:0

cuda 在GPU和CPU之间复制数组

int nDev=2; float** sendbuff = (float**)malloc(nDev * sizeof(float*)); float** recvbuff = (float**)malloc(nDev * sizeof(float*)); cudaStream_t*...

2018-07-18 14:58:28

阅读数:58

评论数:0

使用nccl 编译运行程序,nccl 的lib出错 undefined reference to `ncclCommInitAll'

undefined reference to ncclCommInitAll' undefined reference toncclGetErrorString’ undefined reference to `ncclGroupStart’ 需要加载nccl的动态库: 编译方法: ...

2018-07-17 22:32:22

阅读数:48

评论数:0

error: cuda_runtime.h: No such file or directory 和undefined reference to `cudaSetDevice'

使用cuda的gcc编译错误: error: cuda_runtime.h: No such file or directory 和undefined reference to `cudaSetDevice’。 解决办法,加载cuda 的lib。 gcc singleProcess.cpp ...

2018-07-17 22:29:10

阅读数:102

评论数:0

c++使用mutex为函数上锁

#ifndef HOROVOD_COMMON_H #define HOROVOD_COMMON_H #include<string.h> #include <string> #include&...

2018-07-16 13:17:33

阅读数:26

评论数:0

Qt程序在别人电脑上运行不了怎么办

程序写好后的最终目的是交付用户使用。由于各人电脑上的系统环境千差万别,因此,即使是采用了 release 方式编译,在你自己电脑上生成的 Qt 可执行程序换到别人的电脑上,依然可能无法运行。1.首先,以 release 方式编译源代码,然后将生成的 exe 程序放到一个单独的文件夹中。我是放在 C...

2017-10-17 18:48:48

阅读数:1736

评论数:2

STL<algorithm>中的nth_element()方法的使用

nth_element()方法的使用 通过调用nth_element(start, start+n, end) 方法可以使第n大元素处于第n位置(从0开始,其位置是下标为 n的元素),并且比这个元素小的元素都排在这个元素之前,比这个元素大的元素都排在这个元素之后,但不能保证他们是有序的,下面是这个...

2016-07-11 17:05:38

阅读数:220

评论数:0

static函数与普通函数

全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。...

2016-05-18 10:35:24

阅读数:207

评论数:0

C/C++中函数指针

c/c++中函数指针 函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢? 如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。  定义一个指向函数的指针用如下的形式,以上面的test()为例:in...

2016-05-18 10:22:40

阅读数:188

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭