pycharm 不能debug tensorflow keras的call函数

Codeforces Round #713 (Div. 3) 题解

  返回  

C++第一天 1.0

2021/8/21 20:51:11 浏览:

一.hello world的书写

  1. 头文件#include
  2. 使用命名空间 :using namespace std;
    1. 输出:cout<<想输出的内容<<endl;
  3. 如果屏幕一闪而过:system(“pause”);
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable : 4996)
#include<iostream> //标准输入输出流 in 输入 out 输出
using namespace std;//使用命名空间 打开一个叫std的“房间”
int main()
{
	//cout 标准的输出(在头文件#include<iostream>中)
	//endl:end line结束并且换行\n
	cout << "hello world" << endl;
	/*如果不加using namespace std;
	则改成std:cout << "hello world" << endl;
	*/

	system("pause");//阻塞功能
	return 0;
}

.
.
.
二.双冒号作用域运算符

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable : 4996)
#include<iostream> //标准输入输出流 in 输入 out 输出
using namespace std;//使用命名空间 打开一个叫std的“房间”
int atk = 200;//全局变量

void test01()
{
	int atk = 100;//局部变量

	cout << "攻击力为:" << atk << endl;//输出结果为100,变量取值的就近原则

	//若想输出全局变量,用双冒号运算符
	//双冒号作用域运算符 '::' 
	cout << "全局攻击力为:" << ::atk << endl;
}

int main()
{
	test01();

	system("pause");
	return 0;
}

.
.
.
三.namespace(命名空间)的使用
必须在全局作用域下声明!using namespace std;

  1. 解决名称冲突问题
    在头文件王者荣耀和头文件LOL同样有goatk()函数

头文件王者荣耀.h

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable : 4996)
#include<iostream> //标准输入输出流 in 输入 out 输出
using namespace std;//使用命名空间 打开一个叫std的“房间”

//void goatk();改成用namespace命名
namespace KingGlory
{
	void goatk();
}

源文件王者荣耀.cpp

include"KingGlory.h"
void KingGlory::goatk()
{
	cout<<"KingGlory攻击指令"<<endl;
}

.
.
.
头文件LOLh

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable : 4996)
#include<iostream> //标准输入输出流 in 输入 out 输出
using namespace std;//使用命名空间 打开一个叫std的“房间”

//void goatk();改成用namespace命名
namespace LOL
{
	void goatk();
}

源文件LOL.cpp

#include"LOL.h"
void LOL::goatk()
{
	cout<<"LOL攻击指令"<<endl;
}

.
.
.
操作文件

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable : 4996)
#include<iostream> //标准输入输出流 in 输入 out 输出
using namespace std;//使用命名空间 打开一个叫std的“房间”
include"LOL.h"
include"王者荣耀.h"

int main()
{
	//goatk();//由于两个头文件都有goatk(),此时系统不知道该调用哪个,因此在头文件中用namespace命名

	//正确操作:用::准确说明使用哪个区域的goakt();
	LOL::goakt();
	KingGlory::goatk();

	system("pause");
	return 0;
}
  1. namespace命名空间下 可以放函数、变量、结构体、类
namespace A
{
	void fun();
	int a=10;
	struct person
	{

	};
	class Animal();
}
  1. 命名空间可以嵌套命名空间,并且命名空间可以起别名
namespace A
{
	void fun();
	int a=10;
	struct person
	{

	};
	class Animal();

	namespace B
	{
		int b=20;
	}
}

int main()
{
	//给命名空间起别名
	namespace C=B;//namespcae 新名字=旧名字
	
	//作用域B下的b的值为
	cout<<"作用域B下b的值为:"<<A::C::b<<endl;

	system("pause");
	return 0;
}
  1. 命名空间是开放的,可以随时加入,并且不会覆盖前面在该空间中已经定义的元素
  2. 匿名空间
namespace//不起名字
{
	int m_a=0;
	int m_b=1;
}
当写了无名命名空间,相当于写了static int m_a=0;static int m_b=0;
只能在当前文件中使用(静态变量)

.
.
.

四.using声明和using编译语句

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable : 4996)
#include<iostream> //标准输入输出流 in 输入 out 输出
using namespace std;//使用命名空间 打开一个叫std的“房间”
int atk = 200;//全局变量

namespace KingGlory//命名王者荣耀空间
{
	int a = 10;
}

namespace LOL//命名LOL空间
{
	int a = 20;
}

//using声明
void test01()
{
	int a = 20;
	/*using声明(注意避免二义性问题)
	* 写了using声明后,下面这行代码说明以后看到的a是KingGlory下的
	* 但是编译器有就近原则,因此编译不通过!
	*/
	using KingGlory::a;
	//输出
	cout << a<< endl;
}

//using编译指令
void test02()
{
	int a = 20;
	//using编译指令
	using namespace KingGlory;//打开房间
	cout << a << endl;

	/*结果还是20,打开了房间但没说要用房间内的a
	即就近原则的优先级>编译指令*/


}

//用using编译指令打开多个房间
void test03()
{
	using namespace KingGlory;//打开王者荣耀房间
	using namespace LOL;//打开LOL房间

	//如过打开多个房间也要避免二义性!
	cout << LOL::a << endl;//在a前加上作用域LOL 
}

int main()
{
	test01();
	//test02();
	//test03();

	system("pause");
	return 0;
}

文章转自布尔博客
欢迎关注技术公众号,获取更多硬件学习干货!

在这里插入图片描述

我们能为你提供什么?
技术辅导:C++、Java、嵌入式软件/硬件
项目辅导:软件/硬件项目、大厂实训项目
就业辅导:就业全流程辅导、技术创业支持
对接企业HR:培养输送优质性人才

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号