【C++学习笔记】三、C++的数据类型、存储以及基本运算

2023-11-18

本文记录了C++中的数据类型以及基本运算,这部分是典型的每次记每次忘类型,所以烙印在此,以便用时随时查阅。

主要参考:http://www.runoob.com/cplusplus/cpp-data-types.html

1. C++中的数据类型

(1)基本类型

C++ 为程序员提供了种类丰富的内置数据类型和用户自定义的数据类型。下表列出了七种基本的 C++ 数据类型:

类型 关键字
布尔型 bool
字符型 char
整型 int
浮点型 float
双浮点型 double
无类型 void
宽字符型 wchar_t

一些基本类型可以使用一个或多个类型修饰符进行修饰:

  • signed
  • unsigned
  • short
  • long

下表显示了各种变量类型在内存中存储值时需要占用的内存,以及该类型的变量所能存储的最大值和最小值。

注意:不同系统会有所差异。

类型 范围
char 1 个字节 -128 到 127 或者 0 到 255
unsigned char 1 个字节 0 到 255
signed char 1 个字节 -128 到 127
int 4 个字节 -2147483648 到 2147483647
unsigned int 4 个字节 0 到 4294967295
signed int 4 个字节 -2147483648 到 2147483647
short int 2 个字节 -32768 到 32767
unsigned short int 2 个字节 0 到 65,535
signed short int 2 个字节 -32768 到 32767
long int 8 个字节 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
signed long int 8 个字节 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
unsigned long int 8 个字节 0 to 18,446,744,073,709,551,615
float 4 个字节 +/- 3.4e +/- 38 (~7 个数字)
double 8 个字节 +/- 1.7e +/- 308 (~15 个数字)
long double 16 个字节 +/- 1.7e +/- 308 (~15 个数字)
wchar_t 2 或 4 个字节 1 个宽字符

从上表可得知,变量的大小会根据编译器和所使用的电脑而有所不同。

(2)存储方式

类型 描述
bool 存储值 true 或 false。
char 通常是一个八位字节(一个字符)。这是一个整数类型。
int 对机器而言,整数的最自然的大小。
float

单精度浮点值。单精度是这样的格式,1位符号,8位指数,23位小数。

double

双精度浮点值。双精度是1位符号,11位指数,52位小数。

void 表示类型的缺失。
wchar_t 宽字符类型。

整型数都按二进制的形式存储;

对浮点数的解释详见:https://blog.csdn.net/zl3090/article/details/84303694

2. 常量

常量包括数值型常量和字符型常量两大类。

常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量

常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。

常量就像是常规的变量,只不过常量的值在定义后不能进行修改。

(1)整数常量

整数常量可以是十进制、八进制或十六进制的常量。

a. 前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。

b. 后缀指定类型:后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。

各种情况的示例如下:

85         // 十进制
0213       // 八进制 
0x4b       // 十六进制 
30         // 整数 
30u        // 无符号整数 
30l        // 长整数 
30ul       // 无符号长整数

(2)浮点数常量

浮点常量由整数部分、小数点、小数部分和指数部分组成。可以使用小数形式或者指数形式来表示浮点常量:

a. 当使用小数形式表示时,必须包含整数部分、小数部分,或同时包含两者;

b. 当使用指数形式表示时, 必须包含小数点、指数,或同时包含两者。带符号的指数是用 e 或 E 引入的。

示例如下:

3.14159       // 合法的 
314159E-5L    // 合法的 
510E          // 非法的:不完整的指数
210f          // 非法的:没有小数或指数
.e55          // 非法的:缺少整数或分数

在程序中,无论写成小数形式还是指数形式,在内存中都是以指数形式(浮点形式)储存的。

(3)布尔常量

布尔常量共有两个,它们都是标准的 C++ 关键字:

  • true 值代表真。
  • false 值代表假。

不应把 true 的值看成 1,把 false 的值看成 0。

(4)字符常量

字符常量是括在单引号中。如果常量以 L(仅当大写时)开头,则表示它是一个宽字符常量(例如 L'x'),此时它必须存储在 wchar_t 类型的变量中。否则,它就是一个窄字符常量(例如 'x'),此时它可以存储在 char 类型的简单变量中。

字符常量是以它的ASCII码存储在内存中的。

a. 普通字符常量:

单引号中放的一个字符就是普通字符常量,如'a'等,在内存中占一个字节,单引号中只能放一个字符,'AB'这种是不合法的,字符常量是区分大小写的,'A'和'a'是两个不同的字符常量。

b. 转义字符常量:

前边带斜杠的字符,表示特殊的含义,如下所示:

转义序列 含义
\\ \ 字符
\' ' 字符
\" " 字符
\? ? 字符
\a 警报铃声
\b 退格键
\f 换页符
\n 换行符
\r 回车
\t 水平制表符
\v 垂直制表符
\ooo 一到三位的八进制数
\xhh . . . 一个或多个数字的十六进制数

表中需要说明的是,八进制字符\ooo表示一到三位八进制数组成的字符,ooo均为0-7组成的数字,可以是相同或者不同的数字;例如'\101'表示八进制ASCII码101代表的字符,对应十进制数65,也就是对应字母A;而十六进制字符\xhh表示一到二位十六进制字符组成的字符,x是十六进制数的标志,不能被替换,而hh均为0-F组成的数字,可以相同或者不同。

c. 字符串常量:

用双引号引起来的字符代表字符串常量,此处有别于python中不区分单双引号,c++中单引号只表示单个字符,而双引号表示字符串,需要注意的是,双引号中可以放单个字符,但是此时仍是一个字符串,如"a"与'a'不同,"a"是字符串常量,在内存中占两个字节(包括\0,下边注意中细说),而'a'是字符常量,在内存中占一个字符,也就是说char类型只能定义字符,而不能定义字符串,即:

char c; //定义字符变量,一个字节
c = 'a'; //正确
c = "a"; //错误,不能容纳字符串类型

注意:编译系统会在字符串最后自动加一个'\0'作为结束的标志,它不是字符串的一部分,但是会占据一个字节的内存,如字符串"abc\n",该字符串包含4个字符,分别是a,b,c,\n,编译系统遇到 \ 时,会把它认作转义字符的标志,会将它和它后边的字符一起作为一个转义字符,若与后边的字符不能构成合法的转义字符,则编译会报错;但是该字符串在内存中占据5个字节,是因为最后包含\0字符。若想将 \ 单独作为一个字符,上述字符串应该写作"abc\\n",此时的字符为a,b,c,\,n。

(5)定义常量(符号常量)

在 C++ 中,有两种简单的定义常量的方式:

  • 使用 #define 预处理器。
  • 使用 const 关键字。

实例如下:

#include <iostream>
using namespace std;
 
#define LENGTH 10   //注意,此处不是语句,没有分号
#define WIDTH  5
#define NEWLINE '\n'
 
int main()
{
 
   int area;  
   
   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

 

#include <iostream>
using namespace std;
 
int main()
{
   const int  LENGTH = 10; //使用 const 前缀声明指定类型的常量
   const int  WIDTH  = 5;
   const char NEWLINE = '\n';
   int area;  
   
   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

注意:符号常量虽然有名字,但不是变量,编译中只要遇到这个名字,都会被替换成它对应的数值。

#define和const的区别:

#define是定义的符号常量,也就是说它用一个符号代替了一个字符串(或常量),在编译时,系统会把所有的符号常量替换为指定的字符串,它没有类型,在内存中并没有以符号常量命名的存储单元;

而const确切来说定义的是常变量,它具有变量的特征,也就是说具有类型,在内存中存在着以它命名的存储单元,可以用sizeof测出其长度,它与一般变量的区别是变量值不允许修改,也就是只读变量。

 

3. 变量

变量由变量名变量值组成,其中,变量名代表内存中的一个存储单元,在编译中由系统分配一个地址;变量值代表相应存储单元中的数据值。

命名规则

a. 只能由数字、字母或下划线构成;

b. 第一个字符只能是字母或下划线;

c. 大小写字母对应着不同的变量;

d. 变量名不能与c++的关键字、系统函数名和类名相同;

e. 常用驼峰命名法(以小写字母开头,下一个单词首字母大写,如studentName);

f.  命名有长度限制,一般不超过32字符。

变量的定义

数据类型 变量名列表

示例:

float a,b,c,d;

C++对变量使用前先定义的好处

a. 凡是未事先定义的,不作为变量名,可以保证程序中变量名使用正确,避免变量名写错的情况;

b. 为每一变量指定确定的类型,从而分配对应的存储单元;

c. 为每一变量指定确定的类型,编译时可以检查运算是否合法,如%运算要求左右两边都是int型。

 

4.运算符

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C++ 内置了丰富的运算符,并提供了以下类型的运算符:

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符
  • 杂项运算符

(1)算术运算符

下表显示了 C++ 支持的算术运算符。

假设变量 A 的值为 10,变量 B 的值为 20,则:

运算符 描述 实例
+ 把两个操作数相加 A + B 将得到 30
- 从第一个操作数中减去第二个操作数 A - B 将得到 -10
* 把两个操作数相乘 A * B 将得到 200
/ 分子除以分母 B / A 将得到 2
% 取模运算符,整除后的余数 B % A 将得到 0
++ 自增运算符,整数值增加 1 A++ 将得到 11
-- 自减运算符,整数值减少 1 A-- 将得到 9

此处需要说明的是:

a. 除法/运算,若两个数都是整数,则结果为整数,小数部分不管超没超过0.5,都会被舍去,负数也一样,原则是向0取整,也就是说取更靠近0的整数,如-5/3 = -1;

b. 取余%运算,要求左右两边都是整数,否则会报错;

c. +、-、*、/中若有一个数是float型的,则结果是double型的,因为运算时会对所有float型的数据按照double型处理。

d. 运算中char和short都会被先转换成int型,float都会被转成double型,其他两个不同类型运算的转换级别是:

int到unsiged到long到double,最终输出什么类型以两个数据中级别高的为准,并且转换并不经过中间步骤,是一步到位的。

e. 自增自减类型:

++i是在i使用前先将i的值加1,再使用;

i++是先使用原始值,再将i加1;

自减同理,示例:

//谭浩强书中习题2-7
#include <iostream>
using namespace std;
int main()
{
    int i,j,m,n;
    i = 8;
    j = 10;
    m = ++i + j++;
    n = (++i) + (j++) + m;
    cout << i << '\t' << j << '\t' << m << '\t' << n << '\t';
    return 0;
}

输出为10,12,19,41,m中自增运算有无括号效果相同。

(2)关系运算符

下表显示了 C++ 支持的关系运算符。

假设变量 A 的值为 10,变量 B 的值为 20,则:

运算符 描述 实例
== 检查两个操作数的值是否相等,如果相等则条件为真。 (A == B) 不为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。 (A != B) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (A > B) 不为真。
< 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (A < B) 为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 (A >= B) 不为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 (A <= B) 为真。

(3)逻辑运算符

下表显示了 C++ 支持的关系逻辑运算符。

假设变量 A 的值为 1,变量 B 的值为 0,则:

运算符 描述 实例
&& 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 (A && B) 为假。
|| 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 (A || B) 为真。
! 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 !(A && B) 为真。

(4)位运算符

运算符 描述 实例
& 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 (A & B) 将得到 12,即为 0000 1100
| 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 (A | B) 将得到 61,即为 0011 1101
^ 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。 (A ^ B) 将得到 49,即为 0011 0001
~ 二进制补码运算符是一元运算符,具有"翻转"位效果,即0变成1,1变成0。 (~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码形式。
<< 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 A << 2 将得到 240,即为 1111 0000
>> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 A >> 2 将得到 15,即为 0000 1111

(5)赋值运算符

下表列出了 C++ 支持的赋值运算符:

运算符 描述 实例
= 简单的赋值运算符,把右边操作数的值赋给左边操作数 C = A + B 将把 A + B 的值赋给 C
+= 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 C += A 相当于 C = C + A
-= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 C -= A 相当于 C = C - A
*= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 C *= A 相当于 C = C * A
/= 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 C /= A 相当于 C = C / A
%= 求模且赋值运算符,求两个操作数的模赋值给左边操作数 C %= A 相当于 C = C % A
<<= 左移且赋值运算符 C <<= 2 等同于 C = C << 2
>>= 右移且赋值运算符 C >>= 2 等同于 C = C >> 2
&= 按位与且赋值运算符 C &= 2 等同于 C = C & 2
^= 按位异或且赋值运算符 C ^= 2 等同于 C = C ^ 2
|= 按位或且赋值运算符 C |= 2 等同于 C = C | 2

(6)杂项运算符

下表列出了 C++ 支持的其他一些重要的运算符。

运算符 描述
sizeof sizeof 运算符返回变量的大小。例如,sizeof(a) 将返回 4,其中 a 是整数。
Condition ? X : Y 条件运算符。如果 Condition 为真 ? 则值为 X : 否则值为 Y。
, 逗号运算符会顺序执行一系列运算。整个逗号表达式的值是以逗号分隔的列表中的最后一个表达式的值。
.(点)和 ->(箭头) 成员运算符用于引用类、结构和共用体的成员。
Cast 强制转换运算符把一种数据类型转换为另一种数据类型。例如,int(2.2000) 将返回 2。
& 指针运算符 & 返回变量的地址。例如 &a; 将给出变量的实际地址。
* 指针运算符 * 指向一个变量。例如,*var; 将指向变量 var。

(7) C++ 中的运算符优先级

运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。

例如 x = 7 + 3 * 2,在这里,x 被赋值为 13,而不是 20,因为运算符 * 具有比 + 更高的优先级,所以首先计算乘法 3*2,然后再加上 7。

下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。

类别  运算符  结合性 
后缀  () [] -> . ++ - -   从左到右 
一元  + - ! ~ ++ - - (type)* & sizeof  从右到左 
乘除  * / %  从左到右 
加减  + -  从左到右 
移位  << >>  从左到右 
关系  < <= > >=  从左到右 
相等  == !=  从左到右 
位与 AND  从左到右 
位异或 XOR  从左到右 
位或 OR  从左到右 
逻辑与 AND  &&  从左到右 
逻辑或 OR  ||  从左到右 
条件  ?:  从右到左 
赋值  = += -= *= /= %=>>= <<= &= ^= |=  从右到左 
逗号  从左到右 

两个比较典型的例子:

a的初值为12,

a*a = 2+3,结果是60,自右向左结合,先计算2+3;

a +=a-=a*=a,结果是0,自右向左结合,每一步a都变化了,始终是自己跟自己做运算。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C++学习笔记】三、C++的数据类型、存储以及基本运算 的相关文章

  • C++函数调用那些事

    C 函数调用 C 形参带默认值的函数 带默认值的形参必须从右往左给 给出以下实例 int sum int x int y 无默认值函数 int sum int x int y 0 y有默认值 int sum int x 0 int y 0
  • C#结构体struct和类class的区别与使用场景

    目录 前言 一 结构体的使用 二 结构与类的区别 1 类和结构有以下几个基本的不同点 2 选择使用情况 总结 前言 在我们开发程序中 功能实现可能没有问题 问题是如何将代码变得更优雅 优化程序运行 本文主要区别结构体与类的区别以及什么情况下
  • C++ vector容器-45-vector互换和节省空间和预留空间

    这篇来学习vector一个互换操作 也就是有两个vector对象 可以通过一个api 把两个对象互换过来 实际上 就是在内存中交换了对象的指针 原来的指针指向新的vector对象 这种交换有时候是很有必要 特别是匿名vector对象进行交换
  • (C++)类与对象——封装

    目录 封装的基础与意义 1 类的创建与调用 类的案例 学生类的创建 封装的意义 封装是C 中面向对象的三大特性之一 1 属性与行为 2 权限 class和struct的区别 struct创建时 结构体内的成员默认属性都是 public cl
  • C++:职工管理系统

    职工管理系统 cpp include
  • Ubuntu20.04安装MySQL8

    Ubuntu20 04安装MySQL8 MySQL8下载 点击MySQL download下载官网 按照自己所需要的版本下载对应的MySQL版本 如下图 点击下载后在进行解压 大致文件如下所示 然后需要一次安装对应的 deb文件 普通 de
  • c++ 文件类型判断

    要判断文件类型 即判断文件名是否包含文件的后缀 例如 txt文件的判断 string str abcd txt string str1 txt 当 str find str1 string npos时则说明字符串str中不存在 txt 这个
  • 【C++】struct VS class

    文章目录 面向过程 面向对象 C 的struct和class 1 和C的struct的小差异 2 访问权限符 3 类的大小 类的存储 4 成员函数如何区分对象 5 struct和class的区别 6 this指针的两个面试题 一 this存
  • LeetCode初级算法:数组--买卖股票的最佳时机 II

    以下是本人的C 算法学习笔记 记录在博客上以供自己随时查阅 题目描述 给定一个数组 它的第 i 个元素是一支给定股票第 i 天的价格 设计一个算法来计算你所能获取的最大利润 你可以尽可能地完成更多的交易 多次买卖一支股票 注意 你不能同时参
  • C++利用zxing识别二维码

    C 利用zxing识别二维码 下载编译 配置使用 Win10 x64 VS2015 VS2019 下载编译 1 下载zxing包 并解压 下载地址 https github com glassechidna zxing cpp build文
  • C\C++各种变量存放区域(代码、数据、堆、栈)

    C C 各种变量存放区域 代码 数据 堆 栈 文章目录 C C 各种变量存放区域 代码 数据 堆 栈 变量 数据 变量 数据存放区域 练习 请说明下面的指针分别指向什么位置 BSS Block Started by Symbol 区 为什么
  • 「C++学习笔记」面向.Net Core的(C++)CLR类库非专业入门(+使用Opencv)

    关键词 C CLR Net Core Net Famework Opencv C 目录 什么是CLR类库 本文说明 创建Demo程序 调用dll 通过项目引用 通过dll文件引用 其他还没完全清楚的坑 有关C CLI这块的资料真的很少而且都
  • C++——初始化列表

    初始化列表 在构造函数执行时 先执行初始化列表 实现变量的初始化 然后再执行函数内部的语句 构造函数体赋值 在创建对象时 编译器通过调用构造函数 给对象中各个成员变量一个合适的初始值 class Date public Date int y
  • C++绑定器和函数对象

    C 绑定器和函数对象 简介 C STL中的绑定器 bind1st operator 的第一个形参变量绑定一个确定的值 bind2nd operator 的第二个形参变量绑定一个确定的值 C Boost库 C 的Boost库中引入了bind绑
  • C++对象调用优化

    C 对象调用优化 临时对象拷贝构造新对象 临时对象就不会产生 常见的对象调用过程 c 编译器对于对象构造的优化 用临时对象拷贝新对象的时候 临时对象就不产生了 直接构造新对象就可以了 include
  • C++ stack容器-50-栈容器基本概念和常用接口

    接着学习下一个容器 stack 栈容器 当然后面还要学习一个队列容器 两个有点相似一般一起对比和学习 本篇主要学习栈容器的基本概念和常用接口的基本使用 1 什么是stack stack是一种先进后出 First In Last Out FI
  • C++类的三大特性之继承

    目录 一 继承的概念与使用 lt 1 gt 什么是继承 lt 2 gt 如何使用 二 基类与派生类间的转换 三 继承的作用域 四 派生类的默认成员函数 lt 1 gt 构造函数 lt 2 gt 拷贝构造 lt 3 gt 赋值运算符重载 lt
  • C++deque容器deque 排序

    C deque容器deque 排序 功能描述 利用算法实现对deque容器进行排序 include
  • c++---优先队列(priority_queue)

    C 中的优先队列是STL中的派生容器 它仅考虑最高优先级元素 队列遵循FIFO策略 而优先队列根据优先级弹出元素 即 优先级最高的元素首先弹出 与普通队列区别 在优先队列中 队列中的每个元素都与某个优先级相关联 但是优先级在队列数据结构中不
  • C#8.0本质论第十五章--支持标准查询操作的集合接口

    C 8 0本质论第十五章 支持标准查询操作的集合接口 集合在C 3 0中通过称为语言集成查询 Language Integrated Query LINQ 的一套编程API进行了大刀阔斧的改革 通过一系列扩展方法和Lambda表达式 LIN

随机推荐

  • CMake GUI工具使用 MinGW 64构建工程

    系列文章目录 文章目录 系列文章目录 前言 一 open Project是灰色 前言 CMake GUI 打开 CMake GUI 在 Where is the source code 字段中 选择 Krita 源代码目录 E krita
  • 学习笔记-汉诺塔 分治算法

    用分治算法解决汉诺塔 分治法是一种很重要的算法 字面上的解释是 分而治之 就是把一个复杂的问题分成两个或更多的相同或相似的子问题 再把子问题分成更小的子问题 直到最后子问题可以简单的直接求解 原问题的解即子问题的解的合并 这个技巧是很多高效
  • vue(十二)——vue3新特性之Teleport

    teleport是什么 teleport其实就是vue3新增的一个内置组件 其实就是一个新增标签 teleport的作用 官方解释 将其插槽内容渲染到 DOM 中的另一个位置 简单来说就是将dom节点挂载到你指定的位置 遮挡层案例举例 遮挡
  • Linux 设置文件夹可读可写

    在 Linux 系统中 可以使用 chmod 命令来更改文件夹的读写权限 设置文件夹可读可写 可以使用如下命令 chmod R777 path to folder 其中 chmod 是更改文件权限的命令 R 是递归更改权限 包括子文件夹和文
  • AD中拖动器件,无法移动在一起如何解决

    1 AD PCB拖动器件 无法移动在一起时如何解决 在PCB 界面 按下快捷键O P进入 preference对话框 找到PCB Edit gt Interactive Routing gt Dragging gt Component Pu
  • QT中文显示问题

    问题 http topic csdn net u 20090320 10 287c7dba 29c0 4d76 af75 4d19104f544e html C C code QTextCodec text QTextCodec codec
  • 【Java视频教程等百度云资源分享】

    韩顺平javase 87讲 密码 hsp789 链接 https pan baidu com s 1eNCyvFcVHsd7P4gdvrFqtw密码 el1y 韩顺平javaee 66讲 密码 hsp789 链接 HTTPS pan bai
  • Error occurred when evaluating apply callback【计算应用回调时发生错误】

    Error occurred when evaluating apply callback 在simulink里面的serial configuration模块里面选择串口是出现这个报错 首先我使用的是虚拟串口 com1和com2连接 前几
  • java线程屏障CyclicBarrier

    CyclicBarrier允许一组线程在达到一个公共的屏障点时相互等待 它在涉及固定大小的线程组 并且这些线程必须相互等待的程序中非常有用 CyclicBarrier可以在等待的线程被释放后被重用 构造方法 CyclicBarrier in
  • 解决微信小程序中在其他页面无法使用app.js中获取的userInfo或openid的问题

    问题 最近写小程序中 在app js里获取用户的openid和userinfo 并存储为全局变量 getUserInfo function var that this wx getUserInfo success function res
  • 服务器虚拟机如何连接显示器,Windows 10:如何在VMware虚拟机上使用双显示器

    VMware不允许您为任何客户机操作系统使用更多的监视器 但是 您可以绕过此默认设置并将双监视器与VMware虚拟机配合使用 无论您在虚拟机中安装了哪个操作系统 如果您有多个显示器 您都可以使用它们 默认情况下 VMware仅检测一个监视器
  • Hadoop分布式生态

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 Hadoop系统架构 二 HDFS 1 设计理念 2 架构原理 2 文件写入与读取 4 数据备份 三 MapReduce 1 设计思想 2 架构原理 3
  • imblearn:随机过采样(过采样)

    随机过采样的核心思想 随机的复制 重复少数类样本 最终使得少数类与多数类的个数相同从而得到一个新的均衡的数据集 最简单的过采样方法 imblearn from imblearn over sampling import RandomOver
  • 字符集、编码、Oracle

    目录 一 字符集与编码常识 字符集 编码 ASCII GB2312 GBK GB18030 第二部分 Oracle中的编码与字符集 1 为什么需要两个字符集 2 字符集名称的玄机 3 例子很重要 3 1 准备两个数据库 3 2 工具很重要
  • 为虾米下载《分布式网站负载压力测试工具》变成了《黄色小说》?

    时间早上8点 有一条QQ消息来源 2013 05 24 8 20 20 你好 我在http wst cyqdata com 页面下载压力测试工具时解压后的内容是小说 当然了 一般早上我都不在人间 所以到了中午很疑惑的回复了 号过去 下午1点
  • 小样本学习(one/few-shot learning)

    原文 https blog csdn net mao feng article details 78939864 原博地址 https blog csdn net xhw205 article details 79491649 小样本学习
  • 拉肚子差评回复模板_遇到差评,餐厅这样对症回复就对了!

    大众点评的大数据公开资料显示 80 以上的80 90后在选择就餐时会参考别人的意见 而差评会影响餐厅在外卖平台的排名 一个差评需要几十个五星好评才能抵消 差评成了餐饮老板和店长最怕的事 像躲瘟疫一样避之不及 一味逃避 或者采取不恰当措施 都
  • Python:Pandas对象的深浅拷贝

    这里仅以DataFrame为例进行说明 Pandas版本 1 5 3 1 问题描述 现有一DataFrame型变量A 现在需要对变量A做一些处理操作 但又希望保存A的一个原始副本 所以考虑将变量A赋值给变量B 然后再变量B上进行处理操作 但
  • ERROR (node:9788) Warning: require() of ES modules is not supported.

    报错内容 后台报错内容展示 ERROR node 9788 Warning require of ES modules is not supported 22 53 26 require of E workspace2 cronmall u
  • 【C++学习笔记】三、C++的数据类型、存储以及基本运算

    本文记录了C 中的数据类型以及基本运算 这部分是典型的每次记每次忘类型 所以烙印在此 以便用时随时查阅 主要参考 http www runoob com cplusplus cpp data types html 1 C 中的数据类型 1