首页
学习
活动
专区
工具
TVP
发布

C/C++基础

专栏作者
994
文章
2104341
阅读量
108
订阅数
C++ IO格式控制
C语言中,我们可以通过函数printf和scanf进行格式化控制,而在C++中仍然包含了前者,但还提供了以下两种格式控制的方法: (1)使用流成员函数进行格式控制; (2)使用预定义操作符进行格式控制。
恋喵大鲤鱼
2019-02-22
9330
C++ endl的本质是什么
自从在C语言的教科书中利用Hello world程序作为学习的起点之后,很多程序设计语言的教科书都沿用了这个做法。我们写过的第一个C++程序可能就是这样的。
恋喵大鲤鱼
2019-02-22
1.3K0
C++纯虚函数与抽象类
为什么说虚函数是C++最重要的特性之一呢,因为虚函数承载着C++中动态联编的作用,也即多态,可以让程序在运行时选择合适的成员函数。虚函数必须是类的非静态成员函数(且非构造函数),其访问权限是public。那么: (1)为什么类的静态成员函数不能为虚函数? 如果定义为虚函数,那么它就是动态绑定的,也就是在派生类中可以被覆盖的,这与静态成员函数的定义(在内存中只有一份拷贝,通过类名或对象引用访问静态成员)本身就是相矛盾的。
恋喵大鲤鱼
2018-09-27
1.4K0
C++ explicit禁止单参数构造函数隐式调用
C++中单参数构造函数是可以被隐式调用的,主要有两种情形会隐式调用单参数构造函数: (1)同类型对象的拷贝构造;即用相同类型的其它对象来初始化当前对象。 (2)不同类型对象的隐式转换。即其它类型对象隐式调用单参数拷贝构造函数初始化当前对象。比如A a=1;就是隐式转换,而不是显示调用构造函数,即A a(1);。像A(1)这种涉及类型转换的单参数构造函数,又被称为转换构造函数(Converting Constructor)。
恋喵大鲤鱼
2018-09-27
4.6K1
C++使用引用捕获异常
catch子句捕获异常时既可以按值传递,也可以按照引用传递,甚至按照指针传递,但推荐使用引用捕获异常。考察如下程序:
恋喵大鲤鱼
2018-08-13
5010
利用OpenMP实现埃拉托斯特尼(Eratosthenes)素数筛法并行化
筛法是一种简单检定素数的算法。据说是古希腊的埃拉托斯特尼(Eratosthenes,约公元前274~194年)发明的,又称埃拉托斯特尼筛法(sieve of Eratosthenes)。
恋喵大鲤鱼
2018-08-03
1.4K0
C++认识容器的迭代器
假设有个map容器,用于存储大学班级中各个家乡省份对应的学生数,key为省份中文全拼,value为学生数。现需要删除人数为0的记录,删除代码如下:
恋喵大鲤鱼
2018-08-03
1.2K0
C++ new的三种面貌
C++中使用new运算符产生一个存在于Heap(堆)上对象时,实际上调用了operator new()函数和placement new()函数。在使用new创建堆对象时,我们要清楚认清楚new的三种面貌,分别是:new operator、operator new()和placement new()。
恋喵大鲤鱼
2018-08-03
5K0
C++中cin的详细用法
cin是C++编程语言中的标准输入流对象,即istream类的对象。cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。此外,cout是流的对象,即ostream类的对象,cerr是标准错误输出流的对象,也是ostream 类的对象。这里的标准输出指的是终端键盘,标准错误输出指的是终端的屏幕。
恋喵大鲤鱼
2018-08-03
6.5K0
关于函数参数入栈的思考(函数调用约定,入栈顺序)
首先,要实现函数调用,除了要知道函数的入口地址外,还要向函数传递合适的参数。向被调函数传递参数,可以有不同的方式实现。这些方式被称为“调用规范”或“调用约定”。C/C++中常见的调用规范有__cdecl、__stdcall、__fastcall和__thiscall。
恋喵大鲤鱼
2018-08-03
2.4K0
C++ struct与union
编码运行环境:VS2012+Win32+Debug Win32既表示运行平台是Windows 32bits操作系统,又表示生成32bits的应用程序。
恋喵大鲤鱼
2018-08-03
5950
new和delete的使用规范
C++的动态内存管理是通过new和delete两个操作来完成的,即用new来申请空间,用delete来释放空间。在使用new和delete时,注意以下原则。
恋喵大鲤鱼
2018-08-03
5490
野指针
指向非法的内存地址指针叫作野指针(Wild Pointer),也叫悬挂指针(Dangling Pointer),意为无法正常使用的指针。
恋喵大鲤鱼
2018-08-03
4630
C/C++数据类型的转换之终极无惑
数据类型在编程中经常遇到,虽然可能存在风险,但我们却乐此不疲的进行数据类型的转换。
恋喵大鲤鱼
2018-08-03
7010
C++函数指针简介
(1)定义函数指针的语法形式比较复杂,常借助于typedef类型定义符来简化函数指针的定义。
恋喵大鲤鱼
2018-08-03
3540
C++解引用运算符*重载
“*”是一个一元操作符,它作用于指针,获取指针所指单元的内容。当某个类中对*操作符重载时,是将该类对象当做一个指针看待,而用*操作符提取指针所指向的内容。考察如下程序。
恋喵大鲤鱼
2018-08-03
1.5K0
C++不要在构造函数和析构函数中调用虚函数
虽然可以对虚函数进行实调用,但程序员编写虚函数的本意应该是实现动态联编。在构造函数中调用虚函数,函数的入口地址是在编译时静态确定的,并未实现虚调用。但是为什么在构造函数中调用虚函数,实际上没有发生动态联编呢?
恋喵大鲤鱼
2018-08-03
2.7K0
虚调用及其调用的具体形式
虚调用是相对于实调用而言,它的本质是动态联编。在发生函数调用的时候,如果函数的入口地址是在编译阶段静态确定的,就是是实调用。反之,如果函数的入口地址要在运行时通过查询虚函数表的方式获得,就是虚调用。
恋喵大鲤鱼
2018-08-03
3780
C/C++数组与指针详解
数组大小(元素个数)一般在编译时决定,也有少部分编译器可以运行时动态决定数组大小,比如icpc(Intel C++编译器)。
恋喵大鲤鱼
2018-08-03
7300
抛出和接收异常的顺序
异常(exception)是C++语言引入的错误处理机制。它 采用了统一的方式对程序的运行时错误进行处理,具有标准化、安全和高效的特点。C++为了实现异常处理,引入了三个关键字:try、throw、catch。异常由throw抛出,格式为throw[expression],由catch捕捉。Try语句块是可能抛出异常的语句块,它通常和一个或多个catch语句块连续出现。
恋喵大鲤鱼
2018-08-03
9200
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档