c++11-17 模板核心知识(十三)—— 名称查找与ADL

名称分类 名称查找 ordinary lookup ADL (Argument-Dependent Lookup) 官网的例子 ADL的缺点 在C++中,如果编译器遇到一个名称,它会寻找这个名称代表什么。比如x*y,如果x和y是变量的名称,那么就是乘法。如果x是一个类型的名称,那么就声明了一个指针。 ...

hello world

从今天起你就是一名程序员了 —— 2019.09.16 开始你的第一个 C / C++ 程序 C 版本 1 #include <stdio.h> 2 3 int main(){ 4 printf("hello world"); 5 return 0; 6 } C++ 版本 #include <ios ...

面试必备好文丨面试官:进程和线程,我只问这19个问题!

以下文章来源于程序喵大人 ,作者程序喵大人 下面隆重推出我呕心沥血,耗时半个月完成的精心力作: 什么是进程? 标准定义:进程是一个具有一定独立功能的程序在一个数据集合上依次动态执行的过程。进程是一个正在执行程序的实例,包括程序计数器、寄存器和程序变量的当前值。 简单来说进程就是一个程序的执行流程,内 ...

【C++】C++之Lambda表达式

作者:李春港 出处:https://www.cnblogs.com/lcgbk/p/14088462.html 一、前言 由于前段时间在阅读一些C++源码的时候发现了Lambda表达式,所以在此也记录下Lambda表达式的使用。 很早之前Lambda在很多高级语言中,就已经被广泛地使用了,在一个程序 ...

C++基础知识篇:C++ 判断

函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。 您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。 函数声明告诉编译器函数的 ...

C++基础--指针---返回指针时栈被移除的坑

1.函数局部变量地址释放的坑 main()调用test()方法,返回a的地址,但是a是test()的局部变量,因此在test()调用结束之后,test()的栈空间就被移除,a的储存空间被释放,即使保存了指向a的指针,也无法获得10. 第一次能得到10的原因是编译器优化保留了一次数据。 #includ ...

CPU实现原子操作的原理

586之前的CPU, 会通过LOCK锁总线的形式来实现原子操作. 686开始则提供了存储一致性(Cache coherence), 这是多处理的基础, 也是原子操作的基础. 1. 存储的粒度 存储的组织形式(粒度)是以CacheLine为单位的, 通常为64字节甚至更高(早期也有32字节的). 然后 ...

C++基础知识篇:C++ 循环

有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了允许更为复杂的执行路径的多种控制结构。 循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的一般形式: C/C++的学习裙【七一二 二八四  ...

牛客题霸NC78反转链表c++题解

原题链接 题意: 跟题目名称一样 解法: 反转链表(单向),就是让每个元素的$next$指向的元素的$next$只回来。 那就新建一个指针来记录上个元素,进行操作。 但是上面操作有一点小问题:无法向后转移。 解决方案:直接再开一个指针来记录当前元素的$next$即可。 代码(c++): class ...

C++基础--指针定义时候容易发生的错误

指针定义时候容易发生的错误 定义指针的时候记得将 "*"与指针变量写在一起,不要和 char这种基本数据类型写在一起。 #include <iostream> #include <typeinfo> using namespace std; int main(){ //相当于定义了两个变量 一个是c ...

C\C++ 基础知识点整理(二)

局部变量能够和全局变量重名吗? 答:可以重名,如果局部变量和全局变量重名,则默认在函数中访问的相同标识符是代表局部变量,如果要访问全局变量,则可以在标识符前面加上::即可,::在此处表示要访问全局域中的标识符。 请简述extern关键字在C++语言中的作用? 答:有两个作用,作用一是用于声明全局变量 ...

std::unique_ptr使用incomplete type的报错分析和解决

Pimpl(Pointer to implementation)很多同学都不陌生,但是从原始指针升级到C++11的独占指针std::unique_ptr时,会遇到一个incomplete type的报错,本文来分析一下报错的原因以及分享几种解决方法~ 问题现象 首先举一个传统C++中的Pimpl的例 ...

精选 22 个 C++ 项目,编程小白练手首选!

C/C++ 作为元老级的编程语言,任时光更迭依旧屹立不倒,哪怕如今炙手可热的AI,其底层也是用其编写。 那么作为新手该如何快速上手 C++ 呢?当然是敲代码啊!一切不写代码的学编程都是瞎搞。下面为大家精选了 22 个 C++ 项目,推荐新人练手首选! 1.C++ 实现基数树 使用 C++ 实现Rad ...

<1···789···50>