首页 > 编程语言 >C向C++过渡篇(三)

C向C++过渡篇(三)

时间:2024-11-11 21:50:49浏览次数:5  
标签:std cout int cin C++ C语言 过渡 using

----------cin和cout

cin 的作用类似C语言中的scanf
cout 的作用类似C语言中的printf
区别:cin和cout不是函数,是C++中用来进行输入和输出的一个对象
使用时,不需要去指定格式符(%d,%c,%f之类的),在使用时,要包含头文#include<iostream>
cin和cout可以理解为变量,它们是存在于一个叫做”std“的命名空间里面,所以,使用它们的时候要按命名空间的规矩来使用:std : : cin 
格式:std : : cin >> 变量;     std : : cout << 输入内容 ;

#include<iostream>

int main()
{
	int num;
	std::cin >> num;
	std::cout << num;
	std::cout << num << std::endl;//输出后换行
	return 0;
}

注意:
1.在C语言中,输出换行时是用”\n“来完成(printf("%d\n", num);)。在使用C++时,std这个命名空间给了一种新的方法:" endl "(例如上面的例子,因为是在std命名空间内,所以要用“ ::”)
2.如果嫌每次都使用“ std : : ”非常的不方便,繁琐,可以在头文件后面加入“ using namespace std; ”后续使用可直接使用

#include<iostream>
using namespace std;

int main()
{
	int num;
	cin >> num;
                cout << num;
	cout << num << endl;//输出后换行
	return 0;
}

3.字符串输入时和C语言一样,加 “ ”

cout << "num =" << num;

4.如果,你既不想复杂繁琐又不想使用" using namespace std;“(因为std这个命名空间很大,
里面有非常非常多的东西),你只是想用cin,cout endl这三个,那么使用" using std : : '你需要使用的对象' ”去替代" using namespace std;“

#include<iostream>
//using namespace std;
using std ::cin;
using std::cout;
using std::endl;

----------new和delete

new类似C语言中的malloc (申请内存)
delete类似C语言中的free  (释放内存)

用法:

using namespace std;

int main()
{
	//1.申请单个内存
	int* p1 = new int;//申请一个int类型大小的内存,返回的是一个指针,用int类型的指针去接收一下
	*p1 = 5;//申请完毕后就可以去使用它了

	//2.申请单个的内存且初始化
	int* p2 = new int(6);
	cout << "p2 = "<< * p2 << endl;

	//3.批量申请(连续的内存)
	int* p3 = new int[10];//申请了10个int类型的空间
	for (int i = 0; i < 10; i++)
	{
		p3[i] = i;
		cout << "p3[" << i << "] =" << p3[i] << endl;
	}

	//delete 用法
	delete p1;//单个内存,直接释放
	delete p2;
	delete[] p3;//释放连续的一段内存

	return 0;
}

注意:
1.连续赋值的时候,就没办法给初值了(因为没地方写了嘛,int后面是“[ ]”)
2.释放p3时,在delete后加“ [ ] ”。只要你加了中括号,以为着就要连续释放,一直释放到前面new申请的时候做标记的地方(new 申请的时候C语言内部给予结尾了一个标记)。
3.delete连续释放的时候,它属于是从当前位置开始向后释放到标记处,所以连续释放的时候必须要是首地址(p3),如果不是,会有一部分释放不掉

标签:std,cout,int,cin,C++,C语言,过渡,using
From: https://blog.csdn.net/2201_76117022/article/details/143696359

相关文章

  • C++ lower_bound 函数用法
    C++lower_bound函数用法因为文本块不支持下划线,所以以下均打成\(\text{lower-bound}\)。虽然只是简单语法,但是我确实不太能记住。比如很多分块题要求在整块二分,此时如果能善用\(\text{lower-bound}\)函数就能少写一个二分。然后本文只是作者自己看源代码理解的,当然是有不......
  • C向C++过渡篇(一)
    ----------bool类型:c++独有,这是一种数据类型,用来描述“真”或“假“用sizeof(bool)来求bool类型变量在内存中占多少个字节的内存,得出,bool类型在内存中占用一个字节取值范围:只有两个值:turn(真的),false(假的)bool,可以给它赋值别的值,遵循“非0为真”原则----------内联函数......
  • C++【深入项目-检测键盘】
    神马是检测键盘,就是让编辑器可以检测键盘按下了什么按键,我们先科普复习检测键盘 。检测键盘需要用到一些函数,请见下:!KEY_DOWN(80)这个代码是检测按下键盘上P按键。那80是什么?原来是对应按键的,不只有数字表示,还有字母表示:说明BackSpaceBackSpace8TabTab9Clear12En......
  • c++ 对于传递引用和传递值的理解
    首先先上一段c++代码,可以看出foo函数参数是引用类型,bar函数参数是值类型typedefstructA{intx;inty;}A;voidfoo(A&a){ra.x++;}voidbar(Aa){a.x++;}intmain(){Aa={1,2};foo(a);bar(a);return0;}在vscode......
  • CSS3过渡
     CSS过渡能够做出一些好看动画效果,无需使用Flash动画或JavaScript使用语法:         transition: property   time  speedChange  delayTime,  ...属性:           ①property:过渡的属性         ②time:过渡的时间 ......
  • 深入计算机语言之C++:STL之string的认识与使用
    ......
  • 【C++】踏上C++的学习之旅(七):深入“类和对象“世界,掌握编程的黄金法则(二)(内含构造函数
    文章目录前言1.类的6个默认的成员函数2.构造函数和析构函数的“好处”3.构造函数3.1概念3.2构造函数的特性4.析构函数4.1概念4.2特征前言在踏上C++的学习之旅(六):深入“类和对象“世界,掌握编程的黄金法则(一)中,我给大家讲解了"类"的定义以及如何使用类创建出......
  • 2024年华为OD机试真题-光伏场地建设规划 -C++-OD统一考试(E卷)
    最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客     每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。题目描述祖国西北部有一片大片......
  • C++ 核心代码
    C++核心代码通常指一些基础、常用的代码片段,可以用于各种C++项目中,包括输入输出、基本数据结构、算法实现等。下面是一些典型的C++核心代码示例:1.基本输入输出cppinclude<iostream>usingnamespacestd;intmain(){inta,b;cout<<"Entertwonumbe......
  • 解决 VSCode 中 C/C++ 编码乱码问题的两种方法
    解决VSCode中C/C++编码乱码问题的两种方法在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码。这种编码不一致会导致在VSCode终端中运行C/C++程序时出现乱码。以下介绍两种方法来解决这一问题。方法一:通过CodeRunner......