C++
zhgeliang
成功不必在我,而功力比不唐捐!
展开
-
c++静态对象的初始化
静态对象语义所谓的静态对象,是指从产生一直持续到程序结束的那些对象,在这个过程中不会动态的消亡,所以被称为静态对象。包括global对象,定义于namespace的对象,在class 函数 file里的static对象。其中函数里的是local静态对象,其他都是non-local的,local与non-local的初始化时机不同。对于local的静态对象,初始化发生在函数被调用期间,首次碰到该定义时。而对于non-local的静态变量则在main函数的usercode之前进行初始化。对于类中的静态变转载 2021-07-20 14:09:57 · 1681 阅读 · 0 评论 -
c++ auto基本用法
总述:auto的原理就是根据后面的值,来自己推测前面的类型是什么。auto的作用就是为了简化变量初始化,如果这个变量有一个很长很长的初始化类型,就可以用auto代替。注意点:1.用auto声明的变量必须初始化(auto是根据后面的值来推测这个变量的类型,如果后面没有值,自然会报错)2.函数和模板参数不能被声明为auto(原因同上)3.因为auto是一个占位符,并不是一个他自己的类型,因此不能用于类型转换或其他一些操作,如sizeof和typeid4.定义在一个auto序列的变量必须始转载 2021-07-08 10:49:37 · 3013 阅读 · 1 评论 -
注意头文件规则,避免链接错误:重复定义(multiple defination)
注意头文件规则,避免链接错误:重复定义(multiple defination) - 作业部落 Cmd Markdown 编辑阅读器https://zybuluo.com/uuprince/note/81709 编译链接 C++程序编译的时候遇到了一个重复定义的问题,研究一下发现自己在编译和链接过程中还有一些不清楚的地方,发文章总结一下。几个问题:头文件中只可以放置函...转载 2018-07-30 16:39:06 · 553 阅读 · 0 评论 -
struct 结构体“重定义;不同的基类型”
今天遇到这么一个问题,一个结构体编译报错,“重定义;不同的基类型”,这个结构体在一个头文件中定义,在两个cpp文件中包含该头文件,就报这个错误,结构体的定义形式为: typedefine struct strct{ int x; int y; } stt; 将结构体的定义形式改为如下方式,错误排除: struct s...转载 2018-07-30 16:59:26 · 5896 阅读 · 1 评论 -
c++ 中 extern 对struct 结构体的使用
类型的定义和类型变量的定义不同,类型定义只是描述一个类型,是给编译器看的,不会产生可执行代码。变量定义是指在执行文件中真实得存在这么一块内容。 因为每个.c里都要写清楚类型定义很麻烦,所以一般都把类型定义写在.h里,而在.c里采用简单的写法,如struct A a;这样定义变量,不需把整个类型的描述再写一遍。 所以,struct类型定义放到 ser...转载 2018-07-30 17:33:11 · 9464 阅读 · 0 评论 -
std::make_shared
C++11 中引入了智能指针, 同时还有一个模板函数 std::make_shared 可以返回一个指定类型的 std::shared_ptr, 那与 std::shared_ptr 的构造函数相比它能给我们带来什么好处呢 ?优点效率更高shared_ptr 需要维护引用计数的信息,强引用, 用来记录当前有多少个存活的 shared_ptrs 正持有该对象. 共享的对象会在最后一个...转载 2018-07-27 14:42:29 · 35653 阅读 · 0 评论 -
C++中的模板(函数模板,类模板)
1.模板是生成类或函数的框架,模板使用形参,当实际数据类型赋值给形参的时候,才由编译器生成类或函数2.函数模板的声明由关键字template和包含一个或多个数据类型形参的参数列表构成,形参数据类型(T)前面可以是class也可以是typename,类型形参T要用尖括号<>括起来:Template <typename T>或Template<classT>...转载 2018-07-27 16:00:53 · 264 阅读 · 0 评论 -
C++ Template 基础篇(一):函数模板
Template 基础篇-函数模板Template所代表的泛型编程是C++语言中的重要的组成部分,我将通过几篇blog对这半年以来的学习做一个系统的总结,本文是基础篇的第一部分。 Template 基础篇-函数模板 为什么要有泛型编程 函数模板定义 普通函数模板 成员函数模板 为什么成员函数模板不能是虚函数virtual 实参推断 如何使用 ...转载 2018-07-27 16:11:27 · 354 阅读 · 0 评论