69 views

C语言与C++技术要点认知

By | 2019年2月23日

在无数语言编程中,C++语法規則是相对性而言错综复杂的,其承继和函数重载規則灵巧善变,或许会让初练这困扰苦不堪言,下方而言C++的这些必记点参与的小结,盼望为之帮助人,本文章会维持更新。
函数重载与默认参数的二义性
在函数重载中,主耍实现性能参数形式的不一来重载,而未能能够返回值其他来重载。在指数函数的基本参数缺省值的设为时需准备不让和函数重载搞错,比喻:

void output( int x);
void output( int x, float y=0.0);
那样没有二义行,假若有函数调用output(a)(a这儿为一×××数)时,记不清该获取哪一,行成异常!

int和unsigned int的溢锅现象
在语言编程具体步骤中,妥当采用int数据类型,而不需unsigned int形式,哪怕所应抒发的条目没得负值,如:ID号、统计分析记数等。

C++赋值和初始化
C++中,初始化和赋值是俩种差异的操作步骤。因此随时初始化int val(100);和复制初始化int val=100;就是2个不一的基本概念,同时初始化有效率更高。

自变量从名
局部变量与全局变量从名,则局部变量在其作用域比率内屏蔽了全局变量。这一出错无比隐检,极其不易清查

近日出错现象较多,把这一阵子所用的校正诀窍小结一会,共享给大伙,期望能对大伙物有所幫助。
应用程序的cpu监控
top –p 1234 H
盯梢系统进程堆栈消息
strace –p 1234
缩印系统进程当下堆栈
pstack 1234
实现gdb查询线程堆栈,并调试程序
gdb attach 1234
thread apply all bt

位域又叫位构造,位构造是本身特有的构造, 在需按位互访一个字节或字的多条位时, 位型式比按位运算符愈加便于,位域多适用结构体中,在操作系统低层源代码运用较多。
位型式表述的应该类型为:

struct位型式名{
数据类型 变量名: 整型常数;
数据类型 变量名: 整型常数;
} 位结构变量;
其余: 数据类型务必是int(unsigned或signed)。 整型常数须要是以负的整 数, 範圍是0~15, 代表二进制位的数目, 即代表有几个位。

变量名是选择项, 能否不定名, 其实规范是要为排布需用,诸如: 底下定议了有一个位型式。

struct{
unsigned incon: 8; /*incon占用低字节的0~7共8位*/
unsigned txcolor: 4;/*txcolor占用高字节的0~3位共4位*/
unsigned bgcolor: 3;/*bgcolor占用高字节的4~6位共3位*/
unsigned blink: 1; /*blink占用高字节的第7位*/
}ch;
位构造成員的互访与构造成员的访问相同。
例如: 访问上例位结构中的bgcolor成员可写成:

ch.bgcolor
如:

#include <stdio.h>
struct Node
{
int a:5;
int b:8;
int c:19;
};
int main(int argc, char *argv[])
{
struct Node a;

printf(“%d”,sizeof(a));
return 0;
}
转换结果:4

假若祛除位域

#include <stdio.h>
struct Node
{
int a;
int b;
int c;
};
int main(int argc, char *argv[])
{
struct Node a;

printf(“%d”,sizeof(a));
return 0;

本文转载于:http://win-man.com

作者:网络安全技术员
本文关键词:C++  代码  编程

发表评论

电子邮件地址不会被公开。 必填项已用*标注