随笔分类 - c++
摘要:原地址:https://cloud.tencent.com/developer/article/1385969 左值和右值 C++中如何区分一个变量是左值还是右值呢? 左值一般是可寻址的变量,右值一般是不可寻址的字面常量或者是在表达式求值过程中创建的可寻址的无名临时对象; 左值具有持久性,右值具有短
阅读全文
摘要:学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1、cin2、cin.get()3、cin.getline()4、getline()5、gets()6、getchar() 附:c
阅读全文
摘要:1 <pre name="code" class="plain"><strong><span style="font-size:14px;"><strong>#ifndef SALESITEM_H 2 // 若SALESITEM_H未被定义,则对其进行定义; 3 #define SALESITEM_
阅读全文
摘要:全局变量在静态存储区内分配内存,而局部变量是在栈内分配内存空间的。 C语言编写的程序会在运行期间创建一个栈堆段,用来保存函数的调用关系和局部变量。而在main函数内部定义大数组相当于在站内需要一个很大的空间,会造成栈的溢出。因此,当我们需要定义一个极大的数组时,最好在mian 函数外部定义这个大数组
阅读全文
摘要:转载: https://www.cnblogs.com/dc10101/archive/2007/08/22/865556.html 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加st
阅读全文
摘要:静态变量 类型说明符是static。静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直 到整个程序运行结束(相反,而auto自动变量,即动态局部
阅读全文
摘要:1、C#不支持多重继承。 使用多重继承可以使派生出来的类具有多重特性,使用紧凑的代码完成十分复杂的功能,但这样不可避免的是代码的调试和阅读变得困难和烦杂。但是C#中支持接口Interface的多重继承,在类中实现Interface中的接口函数就可以了。 2、在标准的C#中,不支持指针类型。 C#在默
阅读全文
摘要:通常,我们会按如下方式书写拷贝构造函数: 1 class LiF { 2 public: 3 LiF(int _lif = 0) : lif(_lif) {} // 默认构造函数 4 LiF(const LiF& l) : lif(l.lif) {} // 拷贝构造函数 5 private: 6 i
阅读全文
摘要:一. 拷贝构造函数 1 #include<iostream> 2 using namespace std; 3 class CExample 4 { 5 private: 6 int a; 7 public: 8 //构造函数 9 CExample(int b) 10 { 11 a=b; 12 pr
阅读全文
摘要:#include <vector> #include <iostream> using namespace std; int main() { int ia[] = {1, 2, 3}; vector<int> ivec(ia, ia + sizeof(ia) / sizeof(int)); for
阅读全文
摘要:1.new、delete、malloc、free关系 delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光
阅读全文
摘要:一.总述 unique函数属于STL中比较常用函数,它的功能是元素去重。即”删除”序列中所有相邻的重复元素(只保留一个)。此处的删除,并不是真的删除,而是指重复元素的位置被不重复的元素给占领了(详细情况,下面会讲)。由于它”删除”的是相邻的重复元素,所以在使用unique函数之前,一般都会将目标序列
阅读全文
摘要:生成随机数字 假设我们有一个vector<int>容器,想用100以内的随机数初始化它,其中一个办法是通过generate函数生成,如代码1所示。generate函数接受三个参数,前两个参数指定容器的起止位置,后一个参数指定生成逻辑,这个逻辑正是通过Lambda来表达的。 代码 1 我们现在看到La
阅读全文
摘要:容器是一种容纳特定类型对象的集合。C++的容器可以分为两类:顺序容器和关联容器。顺序容器的元素排列和元素值大小无关,而是由元素添加到容器中的次序决定的。标准库定义了三种顺序容器的类型:vector、list和deque(双端队列)。此外,标准库还提供了三种容器适配器:stack、queue和prio
阅读全文
摘要:参考:https://www.cnblogs.com/ymy124/p/3632634.html 首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数。 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的。 类构造函数
阅读全文
摘要:initializer_list是C++11提供的新类型,定义在<initializer_list>头文件中。 首先有了initializer_list之后,对于STL的container的初始化就方便多了,比如以前初始化一个vector需要这样: int a[] = {0, 1, 2, 3}; s
阅读全文
摘要:参考https://www.cnblogs.com/lanxuezaipiao/p/4132096.html#top 与c++ primer第五版(p432) 1.动态内存与智能指针 智能指针包含在头文件<memory>中,shared_ptr、unique_ptr、weak_ptr。 智能指针与普
阅读全文