我们平时使用C++开发过程中或多或少都会使用std::string,但您了解string具体是如何实现的吗,这里程序喵给大家从源码角度分析一下。 读完本文相信您可以回答以下问题: ▼ string的常见的实现方式有几种? ▼ string类的内部结构是什么样子? ▼ string内
如何快速熟悉一个对你来说完全陌生的项目?这可能是很多人都会遇到的难题。但如果掌握了方法论,它也可以是一道加分题。 最近有位粉丝朋友也遇到了同样的问题,寻求我的意见,其实我和大家一样,走了不少弯路。痛定思痛,程序喵总结了下自己之前熟悉新项目的
程序喵之前已经介绍过C++11的新特性和C++14的新特性(点击对应文字,直接访问),今天向亲爱的读者们介绍下C++17的新特性,现在基本上各个编译器对C++17都已经提供完备的支持,建议大家编程中尝试使用下C++17,可以一定程度上简化代码编写,提高编程效率。 主
前面程序喵介绍过C++11的新特性,这篇文章介绍下C++14的新特性。 「函数返回值类型推导」 C++14对函数返回类型推导规则做了优化,先看一段代码: #include
你知道一次gcc命令究竟经历了什么吗? 我们先来看一段C语言示例源代码: // test.cc#include
内存泄漏是指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。 我们平时开发过程中不可避免的会
2020,形势大变! 过去的互联网骄子们,如今不得不面对现实, 纷纷另寻出路。 那么,他们转行后都适合做什么呢? 让我们一探究竟: ·自媒体人· - - - ·乙方· - - - ·程序员· - - - ·产品经理· ·媒介· ·策划· ·商务· ·设计· ·画手· ·社群运
在多线程开发过程中很多人应该都会遇到死锁问题,死锁问题也是面试过程中经常被问到的问题,这里介绍在c++中如何使用gdb+python脚本调试死锁问题,以及如何在程序运行过程中检测死锁。 首先介绍什么是死锁,看下维基百科中的定义: 死锁(英语:Deadlock),
大家平时使用Linux系统过程中可能都见过文件系统里有好多带版本号的共享库,如下: lrwxrwxrwx 1 root root 21 Mar 25 18:33 libDeployPkg.so.0 -> libDeployPkg.so.0.0.0-rw-r--r-- 1 root root 31304 Mar 25 18:33 libDeployPkg.so.0.0.0lrwxrwxrwx 1 root
程序喵之前都在介绍Linux和C++方面的知识,这里穿插一篇Java JNI相关的知识点,总结一下自己平时工作心得,相信会对做JNI编程的同学有所帮助。 背景: 作者目前在做Android项目,但大多数逻辑都会在Native层实现,不可避免的需要在Native层使用C++去调用Java
在前面的文章中程序喵已经介绍过静态链接的原理,这篇文章我们来解密动态链接。 老规矩,先抛出几个问题: 为什么要进行动态链接? 如何进行动态链接? 什么是地址无关代码技术? 什么是延迟绑定技术? 如何在程序运行过程中进行显式链接? 为什么要进行动态
先抛出两个问题: 指针和引用有什么区别? 什么时候应该使用指针?什么时候应该使用引用? 01 指针和引用的区别 首先看一段代码: int a = 1;int b = 2;int *c = nullptr;c = &a;int &d = b; 指针其实就是一个存放内存地址的整数,这个整数表示的是被指向的变
开篇先抛出几个问题,之后逐个击破: 什么是进程的虚拟地址空间?为什么进程要有自己的虚拟地址空间,这样做有什么好处? 我们都听说过页映射,什么是页映射,操作系统为什么要以页映射方式将程序映射到进程地址空间,这样做有什么好处?程序运行过程中发生页
289117336
Tronlong创龙
詹姆斯6个MVP
hujiaqi06
大有可为
MXX1597759
xingnan123
xiaoguaixh
liqinglong1023