2024/01/13

回顾C++

Visual Studio快捷注释和取消注释:

0. Visual Studio出现:error LNK 1168:无法打开.exe进行写入:

删除Debug文件夹

1. #pragma once和#ifndef

为了避免同一个文件被include多次。

语法:

#pragma once
 
// contents of the header
...
#ifndef SOME_UNIQUE_NAME_HERE
#define SOME_UNIQUE_NAME_HERE
 
// contents of the header
...
 
#endif // SOME_UNIQUE_NAME_HERE

 #pragma once方式产生于#ifndef之后。#ifndef方式受C/C++语言标准的支持,不受编译器的任何限制;而#pragma once方式有些编译器不支持(较老编译器不支持,如GCC 3.4版本之前不支持#pragmaonce),兼容性不够好。#ifndef可以针对一个文件中的部分代码,而#pragma once只能针对整个文件。
————————————————
版权声明:本文为CSDN博主「fengbingchun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fengbingchun/article/details/78696814

2. new/delete 和 new[]/delete[]区别

浅谈 C++ 中的 new/delete 和 new[]/delete[]_跟踪的英文-CSDN博客

C++ 中的创建和删除数组(new/delete 和 new[]/delete[])_c++ delete数组-CSDN博客

释放数组时需要用delete[]

string *psa = new string[10];      //array of 10 empty strings
delete [] psa;

3. 文件读写

3.2 文件功能操作

3.2.1如何判断一个文件是否存在:is_open

 

ifstream ifs;
ifs.open(FILENAME, ios::in);	//读文件
if (!ifs.is_open())
{
	cout << "文件不存在" << endl;
	ifs.close();
	return;
}

3.2.2 如何判断一个文件是否为空:EOF

EOF:End of File

思路:右移一个字符,看是否是EOF。

ifstream ifs;
char ch;
ifs >> ch;
if (ifs.eof())
{
	cout << "文件为空" << endl;
	ifs.close();

	return;
}

3.2.3 逐词读取

每遇到空格、换行、文件尾就完成一次读取(可以一次读取连续的内容)

ifstream ifs;
ifs.open(FILENAME, ios::in);

int id;
string name;
int dept_num;

while (ifs >> id && ifs >> name && ifs >> dept_num)
{
}

3.2.4 Terminal中按任意键清屏并返回上级

//按任意键清屏后回到上级目录
system("pause");
system("cls");

4. switch case语句中定义变量

两种方法:

1. 外部定义

int ret;
switch(num)
{
    case 0:
        cout<<"haha"<<endl;
        break;
    case 1:
        ret = 10;
        cout<<"heihei"<<endl;
        break;
    default:
        break;
}

2. case中内部定义,但是该代码段要加大括号

switch(num)
{
    case 0:
        cout<<"haha"<<endl;
        break;
    case 1:
    {
        int ret;
        ret = 10;
        cout<<"heihei"<<endl;
        break;
    }
    default:
        break;
}

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值