属于菜鸟的一些笔记

在WINDOS下输入完毕后先按ENTER键,然后再按CTRL+Z键,最后再按ENTER键即可结束输入。 而在LINUX中,输入完毕后直接按CTRL+D键即可结束输入。


局部变量存放在堆栈段中,易于产生栈溢出。


可通过母函数法求斐波拉契数列通项公式【需百度】


c++输入输出流与stdin同步关闭的语句:【std::ios::sync_with_stdio(false);】


visua studio2015 中去除对scanf的错误警告的预指令:#pragma warning( disable : 4996)


c+自带的默认复制函数属于浅复制,当类成员中含有指针时,浅复制会使两个对象的指针指向同一段内存空间,这时两个对象不再独立。并且更严重的是,在调用析构函数的时候会导致这段内存空间被释放两次造成运行错误。

在多文件结构中,由于文件包含指令可以嵌套使用,因此在设计程序中要避免多次重复包含同一个头文件,否则会引起变量以及类的重复定义。若不可避免,则可通过下列方式解决。

//main.cpp
#include"file1.h"
#include"file2.h"
int main()
{
	......
}

//file1.h
#include"head.h"
......

//file2.h
#include"head.h"
......

//head.h
...
class cla {
	......
};
......

在这里由于#include指令的嵌套使用,导致头文件head.h被包含了两次,于是编译时系统会指出错误:类cla被重复定义。

这时我们可以在可能被重复的头文件中使用条件编译指令。用一个唯一的标识符来标记某文件是否已经参加过编译,若已经参加过编译,则在编译时忽略重复部分。将head.h改写如下:

//head.h
#ifndef HEAD_H
#define HEAD_H
......
class cla {
	......
};
......
#endif

这样就不会造成对类cla的重复定义啦

【方法来自《c++语言程序设计》郑莉等著 第五章 数据的共享与保护】

基类成员在派生类中的的访问属性
基类中的成员在公用派生类中的访问属性在私有派生类中的访问属性在保护派生类中的访问属性
私有成员不可访问不可访问不可访问
公用成员公用私有保护
保护成员保护私有保护

 
派生类中的成员的访问属性
派生类中的成员在派生类中在派生类外部在下层公用派生类中
派生类中访问属性为公用的成员可以可以可以
派生类中访问属性为受保护的成员可以不可以可以
派生类中访问属性为私有的成员可以不可以不可以
在派生类中不可访问的成员不可以不可以不可以

在很多比赛中,输入结束的标志是-1,因为-1的补码也就是在机器中存储的格式是全1,和0刚好是各位取反的关系,实例如下:

//该程序在输入-1时会停止
int main()
{
	int i;
	while (cin >> i, ~i)
		cout << i << endl;
	return 0;
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值