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

c 笔记-ag真人游戏

malloc和new的区别?

菜鸟阅读 : 1116

解题思路 (1)malloc和new都是在堆上开辟内存的 malloc只负责开辟内存,没有初始化功能,需要用户自己初始化;new不但开辟内存,还可以进行初始化,如new int(10);表示在堆上开辟了一个4字节的int整形内存,初始值是1...

protobuf repeated类型的使用

菜鸟阅读 : 3215

protobuf是google开发的一个序列化框架,类似xml,json,基于二进制,比传统的xml表示同样一段内容要短小得多。通过protobuf,可以很轻松的调用相关方法来完成业务数据的序列化与反序列化。protobuf repeate...

c 11的移动语义

菜鸟阅读 : 2831

可拷贝和可移动的概念 在面向对象中,有的类是可以拷贝的,例如车、房等他们的属性是可以复制的,可以调用拷贝构造函数,有点类的对象则是独一无二的,或者类的资源是独一无二的,比如 io 、 std::unique_ptr等,他们不可以复制,但是可...

c 中的异常安全性

菜鸟阅读 : 1047

一个函数如果说是“异常安全”的,必须同时满足以下两个条件:1.不泄漏任何资源;2.不允许破坏数据。 我们先通过两个反面的例子开始。 第一个是造成资源泄漏的例子。一个类type,内含一个互斥锁成员 mutex mutex,以及一个成员函数vo...

c 多线程编程实例

菜鸟阅读 : 1592

     多线程在编程中有相当重要的地位,我们在实际开发时或者找工作面试时总能遇到多线程的问题,对多线程的理解程度从一个侧面反映了程序员的编程水平。   其实c 语言本身并没有提供多线程机制(当然目前c ...

c 11线程中的几种锁

菜鸟阅读 : 2040

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

c 单例模式总结与剖析

菜鸟阅读 : 2066

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

c unordered_map的使用

菜鸟阅读 : 2129

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

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

菜鸟阅读 : 1398

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

c 中的左值与右值

菜鸟阅读 : 1691

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

网站地图