菜鸟笔记
提升您的技术认知

c 笔记-ag真人游戏

c 11线程中的几种锁

菜鸟阅读 : 1796

线程之间的锁有:互斥锁、条件锁、自旋锁、读写锁、递归锁。一般而言,锁的功能与性能成反比。不过我们一般不使用递归锁(c 标准库提供了std::recursive_mutex),所以这里就不推荐了。 互斥锁(mutex) 互斥锁用于控制多个线...

c 单例模式总结与剖析

菜鸟阅读 : 1821

c 单例模式总结与剖析 单例可能是最常用的简单的一种设计模式,实现方法多样,根据不同的需求有不同的写法; 同时单例也有其局限性,因此有很多人是反对使用单例的。本文对c 单例的常见写法进行了一个总结, 包括懒汉式、线程安全、单例模板等...

c unordered_map的使用

菜鸟阅读 : 1809

std::unordered_map(c 11) template < class key, // unordered_map::key_type class t, // unordered_map::mapped_type class ...

一种高效的 vector 四则运算处理方法

菜鸟阅读 : 1258

实现 vector 的四则运算 这里假设 vector 的运算定义为对操作数 vector 中相同位置的元素进行运算,最后得到一个新的 vector。具体来说就是,假如 vector d1{1, 2, 3}, d2{4, 5, 6};则, ...

c 中的左值与右值

菜鸟阅读 : 1519

左值(lvalue)和右值(rvalue)是 c/c 中一个比较晦涩基础的概念,不少写了很久c/c 的人甚至没有听过这个名字,但这个概念到了 c 11 后却变得十分重要,它们是理解 move/forward 等新语义的基础。 左值右...

c 左值 右值

菜鸟阅读 : 1335评论(0)

定义 早期的c给出的定义:左值是一个表达式,可能出现在赋值操作的左边或右边,但右值只能出现在右边。比如: a * b = 42; // 编译错误, 说明 a * b 不是左值 因为上面的定义实在太模糊,导致左值和右值很难被理解,下面给出的定...

extern关键字

菜鸟阅读 : 4699

1. 基本含义:声明外部对象 声明对象是一个外部对象(变量或函数),标识其定义在别的文件中。会被多个文件使用的对象通常用extern声明于头文件中。 用法eg. extern int var; 2. extern “c”:链接指示 声明对象...

详细解说 stl 排序(sort)

菜鸟阅读 : 762

0 前言: stl,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课。从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来。幸运的是这些理论都已经比较成熟,算法也基本固定下来,不需要你再去花费心思去...

c 中的new、operator new与placement new

菜鸟阅读 : 1378

new/delete与operator new/operator delete new operator/delete operator就是new和delete操作符,而operator new/operator delete是函数。 ne...

守护进程

菜鸟阅读 : 1112

linux或者unix操作系统中,在系统引导的时候会开启很多服务,这些服务就叫做守护进程。守护进程是脱离于终端并且在后台运行的进程。守护进程脱离终端是为了避免进程在执行过程中产生的信息在任何终端上显示,另外进程也不会被任何终端所产生的信息所...