随笔分类 -  Microsoft C++官方文档阅读笔记

选择性阅读微软C++官方文档,对工作中频繁用到的知识索引备忘,查漏补缺
摘要:About Thread 1、什么是线程?线程时在进程中可以被调度执行的实体2、线程与进程之间是什么关系?所有线程共享进程的虚拟地址空间和系统资源每个进程都至少带一个线程启动 Thread Stack Size1、什么是保留栈空间?保留栈空间代表从虚拟内存中分配的总的栈空间大小2、什么是初始提交栈空 阅读全文
posted @ 2020-12-15 22:29 SwiftChocolate 阅读(99) 评论(0) 推荐(0)
摘要:1、实现多任务的有哪两种方法?a.多线程b.多进程2、为什么多线程一般会比多进程更加有效?a.线程上下文切换比进程上下文切换cost更小b.进程的所有线程共享相同的地址空间,可以访问到进程的全局变量,简化了线程间通信c.进程的所有线程可以共享资源的打开句柄3、有哪些方案可以替代多线程?异步IOIO完 阅读全文
posted @ 2020-12-15 22:10 SwiftChocolate 阅读(420) 评论(0) 推荐(0)
摘要:Scheduling Priorities线程基本优先级由哪两个因素决定?进程的优先级class(有6种)进程优先级类下的线程优先级level(每个class下有7种)Context Switches1、上下文切换分为哪几个步骤?调度器为每个优先级维护一个可执行线程队列。保存刚刚完成的线程上下文将刚 阅读全文
posted @ 2020-12-15 21:55 SwiftChocolate 阅读(331) 评论(0) 推荐(0)
摘要:模板参数类型 1、类型参数 2、非类型参数 编译器如何知道函数参数的类型? 编译器优先走用户指定,用户不指定走推断 注意:模板作为模板参数的时候,Body拿不到作为参数的模板的参数 模板函数和非模板函数同时存在,那么编译器会选择走模板函数还是非模板函数? 如果我想 对某些类型参数执行代码A,对其他类 阅读全文
posted @ 2020-11-08 22:17 SwiftChocolate 阅读(69) 评论(0) 推荐(0)
摘要:支持对象的用户在运行时获取到 object 的 complete type 主要谈三个关键字: dynamic cast、typeid 、type_info dynamic cast 按照cast 方向分类,可分为upcast(派生类向基类cast)和downcast(基类向派生类cast)两种情况 阅读全文
posted @ 2020-11-08 19:31 SwiftChocolate 阅读(53) 评论(0) 推荐(0)
摘要:位域 1、多个位域在内存布局中的顺序? 微软编译器对位域在内存中的布局是从低位地址到高位地址 2、补不补齐? Zero-Length Bit Field 长度为0的位域会补齐到unsigned int(4字节)的倍数 参考链接:https://docs.microsoft.com/en-us/cpp 阅读全文
posted @ 2020-11-08 19:13 SwiftChocolate 阅读(130) 评论(0) 推荐(0)