前言
本博文主要是对css学习进行的一个记录,以方便后面查阅。
博文写于2021-04-29 20:58:58,于2024-02-04编辑进行博文排版。
css是一种专门在浏览器中编译并执行的编程语言,用于定位浏览器中html标签并对定位的html标签中的样式属性进行统一管理
html标签属性分类
- 其中check表示默认选中项
- 其中selected表示默认选中项
- onmouseover 进行监听
css编程语言作用
css选择器
ID选择器
标签类型选择器
层级选择器
自定义选择器
额外补充
日志部分就先到这!接下来,是一些个人平时整理的c++要点概要,如有需要可以进行阅读!
结构体
- 第一种是最基本的结构体定义, 其定义了一个结构体 A。
struct A { int a;};
- 第二种则是在定义了一个结构体 B 的同时定义了一个结构体 B 的变量 m。
struct B { int b;}m;
- 第三种结构体定义没有给出该结构体的名称, 但是定义了一个该结构体的变量 n, 也就是说,若是想要在别处定义该结构体的变量是不行的, 只有变量 n 这种在定义结构体的同时定义变量才行。
struct { int c;}n;
- 第四种结构体定义在第一种结构定义的基础上加了关键字
typedef
, 此时我们将struct D{int d}
看成是一个数据类型, 但是因为并没有给出别名, 直接用 D 定义变量是不行的。 如D test;
,不能直接这样定义变量 test。 但struct D test;
可行。
typedef struct D { int d;};
- 第五种结构体定义在第四种结构体定义的基础上加上了别名 x, 此时像在第四种结构体定义中说得那样, 此时的结构体 E 有别名 x, 故可以用 x 定义 E 的结构体变量。 用 E 不能直接定义, 需要在前面加
struct,
如struct E test;
。
typedef struct E { int e;}x;
- 第六种结构体定义在第五种的基础上减去了结构体名, 但是若是直接使用 y 来定义该结构体类型的变量也是可以的。 如
y test;
。 (常用)
typedef struct { int f;}y;
常成员函数
const void print(const int num)const
- 第一个 const 修饰返回类型
- 第二个 const 修饰参数
- 第三个 const 修饰类的成员函数
常成员函数声明: 形如 void funcName(参数表) const;
对于常成员函数需要注意:
- 其实现部分也要带 const 关键字;
- 不能修改类的成员变量, 不能调用类中没有被 const 修饰的成员函数(即只能调用常成员函数) 。
复杂度
- vector 插入 ,该位置插入后后面的都要改变 O(n)
- Set 底层红黑树 O(logn)
- Hash_map 底层哈希表 O(1)
- Deque 尾部可以直接修改 O(1)
nm命令
nm 命令查看汇编代码, 由 GNU C++汇编生成的改编后的函数名规则如下:
- 每个改编后的函数名(除了 main 函数) 以 2 个下划线( __) 开始, 后跟字母 Z、一个数值和函数名在跟着形参列表的编码(没有形参就不用了)。字母 Z 后的数值表示函数名称中字符的个数。
例如,函数 int donothing(char a, int b, float &c, double &d)在它的函数名中有 9 个字符, 所以改编后名字的前缀是__Z9。 然后, 接着跟着函数名, 后跟有它的形参列表的编码。 在函数 donothing的形参列表中 char 表示为 c, int 表示为 i, float &表示为 Rf, double &表示为 Rd。 所以最
终汇编形成的函数名为: __Z9donothingciRfRd
大小端
大端和小端存储指的是对于多字节数据的表示方式。
- 在大端存储中, 如 ARM 平台, 数据的高字节保存在内存的低地址中, 而数据的低字节保存在内存的高地址中(低位高地址, 高位低地址 );
- 而在小端存储中, 如 X86、 x86-64 平台、 80X86, 数据的低位保存在内存的低地址中, 而数据的高位保存在内存的高地址中(低位低地址, 高位高地址) 。
例如,对于十六进制数 0x1234 , 高位 0x12 , 低位 0x34(内存地址: 高->低) , 数组中, 大端存储的表示方式是 0x12 0x34, 而小端存储的表示方式是 0x34 0x12。 结构体中, 先声明的是低地址, 后声明的是高地址, 如果先声明 m, 则大端存储, m 是 0x12。