
C++基础
文章平均质量分 61
SturdyGrass_0921
这个作者很懒,什么都没留下…
展开
-
c++ 右值引用与左值引用
C++ 左值引用和右值引用最近看到 auto &a :count 与 aotu &&a:count的用法时候,对&&a这种写法不是很清楚 于是查了下相关的资料#include <iostream>#include <vector>using namespace std;class A{public: /* 构造函数 */ A() { for (int i = 0; i < 5;.原创 2021-11-24 13:55:40 · 1773 阅读 · 0 评论 -
面经常问题目
进程和线程1.进程和线程的区别一个进程包含多个线程,一个线程只属于一个进程进程 资源分配最小单位 线程 调度的最小单位进程开销大于线程 进程创建和销毁时 需要系统为之销毁和创建资源 包括i/o 内存等;线程开销小 只需要保存和设置少量寄存器 不涉及存储进程需要自己独立的内存 线程间共享进程的内存,共享 代码段包括代码和常量,数据段全局变量和静态变量,堆区端进程调试可靠性高 较简单 线程开销小 速度快 调试较复杂进程间不会相互影响 线程会 一个挂掉 会全部失去。进程间通信的方式:管道 ip原创 2021-04-01 08:05:30 · 200 阅读 · 0 评论 -
表达式
1.左值与右值当一个对象被用作右值的时候,用的是对象的值(内容);当一个对象被用作左值的时候,用的是对象的身份(在内存中的位置)。在需要右值的地方可以用左值来代替,但不能把右值当成左值(位置)使用。当一个左值被当成右值使用时,实际使用的是它的内容(值)。用到左值的常见运算符:1.赋值运算符2.取地址符作用于左值运算对象,返回一个指向该运算的指针,指针是右值。3.内置解引用符、下标运算符、迭代器解引用运算符、string和vector的下标运算符4.内置类型和迭代器的递增递减运算符作用于左值对原创 2021-01-14 12:17:28 · 249 阅读 · 0 评论 -
字符串、向量和数组
1.stringstring是一种库函数。定义和初始化string对象string s1; //默认初始化,s1是空字符串string s2 = s1 //s2是s1的副本string s3 ("value") //s3是字面值“value”的副本,除了字面值最后的那个空字符外string s3 = "value"//等价于上式string s4(n,'c')//初始化n个c直接初始化和拷贝初始化string s5 ="dong"//拷贝初始化string s6("dong")//直接原创 2021-01-02 18:53:25 · 650 阅读 · 0 评论 -
变量和基本类型
1.含有无符号类型表达式若定义 unsigned u = -42;那么输出值会是429496726 (int 32位);将负数取正,然后取无符号数的模(无符号数的计量范围)与其正数相减。2的32次方 = 429496726 ;输出 :429496726 - 42 = 4294967254;当从无符号数中中减去一个值时,需要保证所得值不能是赋值。若所得值为负值,则结果为取模值。2.声明和定义的关系声明:使得名字被程序所知,若一个文件想在别处定名名字需包含那个名字的声明。定义:用于负责创建原创 2020-12-29 16:14:08 · 186 阅读 · 0 评论 -
C++输入数据类别分析
1.输入数据数量不确定指预先不知道输入的数据数量,需要不断的读取数据直到没有新输入为止。例:输入不定数字求和#include<iostream>int main(){int sum = 0;int value = 0;while(std::cin >> value){sum += sum;}std::cout << sum << std::endl;return 0;}检测cin流的状态,把其放入while语句中进行判定,若其流有效原创 2020-12-28 15:42:32 · 347 阅读 · 0 评论 -
typedef理解
typedef用来声明一个别名,typedef后面的语法,是一个声明。typedef int PARA;这种形式跟#define int PARA几乎一样,某些教材的宗旨是由浅入深,但实际做出来的行为却是以偏盖全。的确,这种形式在所有形式中是最简单的,但却没有对typedef进一步解释,使得不少人用#define的思维来看待typedef,把int与PARA分开来看,int是一部分,PARA是另一部分,但实际上根本就不是这么一回事。int与PARA是一个整体!就象int i:声明一样是一个整体声明,只不转载 2020-10-05 13:35:56 · 250 阅读 · 0 评论 -
C/C++中内存5大分区
代码区:存放程序的代码,即CPU执行的机器指令,并且是只读的。常量区:存放常量(程序在运行的期间不能够被改变的量,例如: 10,字符串常量”abcde”, 数组的名字等)静态区(全局区、全局数据区):静态变量和全局变量的存储区域是一起的,一旦静态区的内存被分配, 静态区的内存直到程序全部结束之后才会被释放 。分为 DATA 段和 BSS 段:DATA 段(全局初始化区)存放初始化的全局变量和静态变量;BSS 段(全局未初始化区)存放未初始化的全局变量和静态变量。堆区:由程序员调用mal.转载 2020-09-16 18:03:03 · 415 阅读 · 0 评论 -
static变量及函数总结C++
全局(静态)存储区:分为 DATA 段和 BSS 段。DATA 段(全局初始化区)存放初始化的全局变量和静态变量;BSS 段(全局未初始化区)存放未初始化的全局变量和静态变量。程序运行结束时自动释放。其中BBS段在程序执行之前会被系统自动清0,所以未初始化的全局变量和静态变量在程序执行之前已经为0。存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。在 C++ 中 static 的内部实现机制:静态数据成员要在程序一开始运行时就必须存在。因为函数在程序运行中被调用,所以静态数据成原创 2020-09-16 17:12:21 · 421 阅读 · 0 评论