Python模块搜索路径
最近在学习python的C++扩展(pybind11),写完一个扩展模块之后,想要在自己的环境中以后都能自动导入这个模块,而不用手动去添加路径(修改sys.path)应该怎么弄?以前最开始学习Python的时候看过这块内容,然而时间长了总会记忆不清,就再回顾了一遍。概括来说,Python的自动搜 ...
[转载]并行与并发
7.1 并行基础std::thread 用于创建一个执行的线程实例,所以它是一切并发编程的基础,使用时需要包含 <thread> 头文件, 它提供了很多基本的线程操作,例如 get_id() 来获取所创建线程的线程 ID,使用 join() 来加入一个线程等等,例如:
123456 ...
【转载】C++ thread用法总结(整理)
简介C++11中加入了头文件,此头文件主要声明了std::thread线程类。C++11的标准类std::thread对线程进行了封装,定义了C++11标准中的一些表示线程的类、用于互斥访问的类与方法等。应用C++11中的std::thread便于多线程程序的移值。
std::thread类成员 ...
Internship Summary(实习记录)
公司不大,加上后勤员工也只有30多个,IT组算上我这个唯一的实习生也只有8个人。Alpha组有一个交大的学长,感觉还是蛮亲切的。
我的mentor–蒋哥,也就是我们组的组长,是真的忙。第一天我8点25到岗的,他已经在那边了。上午的时候他基本还是能在自己工位上做些事情的,然而到了下午感觉他 ...
C++11 尾置返回类型
尾置返回类型尾置返回类型(trailing return type)是C++11中新增的特性,任何函数的定义都可以使用尾置返回类型,但是尾置返回类型更适合用于返回类型比较复杂的场景,如返回一个数组指针。下面的例子是返回一个指向维度为10的数组指针的函数定义方法:
1int (*func(in ...
常量表达式(constexpr)
一. const 和constexpr的区别(一)修饰变量时,const为“运行期常量”,即运行期数据是只读的。而constexpr为“编译期”常量,这是const无法保证的。两者都是对象和函数接口的组成部分。
(二)修饰函数时,与const关键字相比,constexpr关键字不仅可以修饰变量和 ...
左值、右值、左值引用、右值引用
左值、右值在C++11中所有的值必属于左值、右值两者之一,右值又可以细分为纯右值、将亡值。在C++11中可以取地址的、有名字的就是左值,反之,不能取地址的、没有名字的就是右值(将亡值或纯右值)。举个例子,int a = b+c, a 就是左值,其有变量名为a,通过&a可以获取该变量的地址 ...
mxifund interview notes
虽然我面的公司不多,但是蒙玺算是唯一一家笔试题是一周之内写一个小项目的公司。和如今主流的笔试题考算法不一样,我个人也还是比较喜欢这样的形式的。小项目也很有趣,开始以为可以做kernel bypass,还有点小激动,后来实际做了发现其实就只是单纯的市场数据处理,不过做起来也是有不少有趣的点的,让我 ...
[转载]tcp粘包与udp丢包的原因
一,什么是tcp粘包与udp丢包TCP是面向流的, 流要说明就像河水一样, 只要有水, 就会一直流向低处, 不会间断. TCP为了提高传输效率, 发送数据的时候, 并不是直接发送数据到网路, 而是先暂存到系统缓冲, 超过时间或者缓冲满了, 才把缓冲区的内容发送出去, 这样, 就可以有效提高发送效 ...
Effective Modern C++ Note [1] : Smart Pointer
前言
std::auto_ptr 使用了它的复制操作来完成移动任务。这导致了令人奇怪的代码(拷贝一个std::auto_ptr会将它本身设置为null!)和令人沮丧的使用限制(比如不能将std::auto_ptr放入容器)。
除非是C++98编译的场景,否则使用std::unique_ptr来替 ...