首页
学习
活动
专区
工具
TVP
发布

编程珠玑

分享C/C++/Linux/数据结构与算法/工具/读书等原创文章
专栏成员
222
文章
424459
阅读量
50
订阅数
原来C语言还可以这样实现“泛型编程”!
泛型编程(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。C++支持泛型编程,也就是模板,比如:
编程珠玑
2021-01-05
3.3K0
性能优化-放开那片内存,让我来!
假设你已经通过《perf:一个命令发现性能问题》中的方法或者使用profiler分析,已经发现内存分配是性能瓶颈:
编程珠玑
2021-01-05
1K0
const关键字你搞懂了?这个编译问题你可能都搞不明白!
我们发现出现了链接问题,说const_int没有定义的引用,但我们确实在const.cc文件中定义了。
编程珠玑
2020-11-09
7580
这行代码的打印结果确实让人迷惑!
上周在《来看一道"简单的"C语言面试题》中分享了一道题,所谓纠正后的代码也是漏洞百出,所幸读者在留言区已经指出,在这非常感谢。
编程珠玑
2020-10-27
4210
万万没想到,一个可执行文件原来包含了这么多信息!
拿到一个编译好的可执行文件,你能获取到哪些信息?文件大小,修改时间?文件类型?除此之外呢?实际上它包含了很多信息,这些你都知道吗?
编程珠玑
2020-06-15
6690
redis为什么不直接使用C字符串,而要自定义简单动态字符串?
Redis (一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。)没有直接使用 C 语言传统的字符串表示redis中的字符串,而是使用了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型, 并将 SDS 用作 Redis 的默认字符串。
编程珠玑
2020-05-22
1.5K0
C语言为什么只需要include<stdio.h>就能使用里面声明的函数?
有人问:C语言为什么只需要include<stdio.h>就能使用里面声明的函数?这是一个看起来非常简单的问题,但是很多初学者,甚至学了很久的人都可能没有搞明白。 为什么包含即可用? 要明白包含即可用
编程珠玑
2020-05-08
1.3K0
结构体成员赋值到底是深拷贝还是浅拷贝?
在《C语言容易忽略的知识点》一文中,有读者说这种结构体复杂成员赋值的的拷贝是浅拷贝(感谢读者提出),那么到底什么是深拷贝,什么是浅拷贝?
编程珠玑
2020-02-11
3.2K0
换个角度说Makefile
作为Linux下的C/C++开发者,没接触过makefile一定说不过去,通常构建大型的C/C++项目都离不开makefile,也许你使用的是cmake或者其他类似的工具,但它们的本质都是类似的。
编程珠玑
2020-02-11
7530
善用shared_ptr,远离内存泄漏(文末福利)
《为何优先选用unique_ptr而不是裸指针?》中说到,如果有可能就使用unique_ptr,然后很多时候对象是需要共享的,因此shared_ptr也就会用得很多。shared_ptr允许多个指向同一个对象,当指向对象的最后一个shared_ptr销毁时,该对象也就会自动销毁。因此,善用shared_ptr,能够远离内存泄漏。
编程珠玑
2019-12-16
1.7K0
单例模式很简单?但是你真的能写对吗?
来源:https://segmentfault.com/a/1190000015950693
编程珠玑
2019-11-27
2.1K0
还分不清左值,右值,将亡值?看这里!
来源:https://www.cnblogs.com/zpcdbky/p/5275959.html
编程珠玑
2019-11-24
5.6K0
decltype--从表达式推断类型
在《不想写表达式的类型?试试auto吧》中介绍了自动类型推导,它需要有初始值,今天再来介绍一个C++11中的特性,decltype。
编程珠玑
2019-11-23
1K0
不想写表达式的类型?试试auto吧
你以为我说的自动变量类型auto吗?非也,我们知道C语言中其实也有auto关键字,它和早期C++中的auto关键字一样,它修饰局部变量,表示自动存储期(更多内容也可以阅读《全局变量,静态全局变量,局部变量,静态局部变量》)不过由于默认就是这种,因此我们其实常常见不到这样的写法:
编程珠玑
2019-11-13
4260
C++与C中的const关键字有何差别?
在《const关键字到底该怎么用》一文中介绍了C语言中的const关键字,本文说说C++中的const关键字,它的大部分特点和C语言中的类似,所以本文主要针对不同之处。
编程珠玑
2019-11-13
7020
linux自助安装man手册,就是这么简单!
在Linux编写或者编译C代码的时候,直接使用man命令就可以查看该函数的使用手册,非常方便,如:
编程珠玑
2019-11-13
4K0
拥抱智能指针,告别内存泄露
我们都知道,当申请的内存在不用时忘记释放,导致内存泄漏。长期来看,内存泄漏的危害是巨大的,它导致可用内存越来越少,甚至拖慢系统,最终进程可能被OOM(out of memory)机制杀死。
编程珠玑
2019-11-13
8830
为何优先选用unique_ptr而不是裸指针?
在《拥抱智能指针,告别内存泄露》中说到了内存泄漏问题,也提到了C++中的智能指针基本原理,今天就来说说类模板unique_ptr。 在此之前,先回答读者的一个提问:C语言中该怎么办?有几点建议:
编程珠玑
2019-11-13
1.7K0
你该知道的C++四种显式类型转换
在C语言中,我们需要做类型转换时,常常就是简单粗暴,在C++中也可以用C式强制类型转换,但是C++有它自己的一套类型转换方式。
编程珠玑
2019-10-28
1.9K0
几个命令了解ELF文件的”秘密“
在Linux中,可执行文件的格式是ELF格式,而有一些命令可以帮助我们了解它们更多的“秘密”,以此来帮助我们解决问题。
编程珠玑
2019-10-15
2.3K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档