C++
文章平均质量分 74
bencolyy
这个作者很懒,什么都没留下…
展开
-
g++编译时默认支持C++11的几个配置小方法
//第一种,直接包含在源程序文件中,如第一行代码所示 #pragma GCC diagnostic error "-std=c++11" #include <iostream> using namespace std; int main(int argc,char **argv) { cout<<"hello world!"<<endl; ...原创 2018-05-24 10:19:09 · 3042 阅读 · 0 评论 -
int与unsigned int隐式转换
最近看到一道经典例题:看代码#include <stdio.h>int main(){ unsigned int a = 6; int b = -20; (a+b)>6?printf(">6\n"):printf("<6\n"); return 0;} 结果是 >6为什么呢?这里涉及到了隐式转换的问题》》》》》C在以下四种情况下会进行隐式转换: 1...原创 2018-06-02 15:05:19 · 20318 阅读 · 1 评论 -
指针与引用
指针与引用的区别:1、初始化要求不同,引用在创建的同时必须初始化,即需要引用到一个有效的对象,而指针在定义时不必马上初始化,可以在后面任何地方马上赋值。2、引用绑定到一个有效的对象后不可修改,指针不同,可以随时指向任意对象。3、不存在NULL的引用,它总是指向某个对象,指针可以指向NULL,所以指针更加灵活,也更容易出错。4、使用测试的区别,引用不会指向NULL,所以使用前不需要测...原创 2018-07-17 09:33:28 · 250 阅读 · 0 评论 -
随机数与随机分组
在C语言中通常用srand()与rand()函数来去随机数; 在c语言里面,两个函数包含在<stdlib.h>头文件里面,c++里面,标准库<cstdlib>(被包含于<iostream>中). srand函数是随机数发生器的初始化函数。 原型:void srand(unsigned seed); rand函数用来产生...原创 2018-07-18 22:28:41 · 4187 阅读 · 0 评论 -
类成员函数与this指针
类成员函数的编译对于类成员函数,不是一个对象对应一个单独的成员函数,而是同一类 的所有对象共享这个成员函数体。当程序编译后,成员函数的地址已经确定,,当调用此成员函数时,会将当前对象的this指针传入成员函数,类的成员函数体只有一份,但成员函数之所以可以把各个对象的数据分开是因为,每次执行成员函数时,都会把当前对象的this指针(首地址)传入,对类内成员数据的访问,实际上是通过this指针访问...原创 2018-07-19 11:07:35 · 4000 阅读 · 0 评论 -
野指针的产生与危害
野指针不是NULL (nullptr),而是指向未知内存的指针,野指针很危险,容易造成内存的非法访问;野指针的形成原因有两种:1、创建的指针变量没有初始化,任何指针变量的创建是不会自动成为NULL指针的;它是随机值;所以指针创建时要初始化(或变成NULL)让指针指向合法内存;2、指针p被free或delete后没有指向NULL,此时p仍认为...原创 2018-07-19 11:14:59 · 570 阅读 · 0 评论 -
C++有了malloc/free为什么还要有new/delete
malloc与free是C/c++的标准库函数,new/delete是运算符;它们都可用于在堆上动态申请或释放内存对于malloc与free,它无法满足非内部数据类型对象的动态生成与消亡;即定义了一个类class,类的对象实例化与消除是通过构造函数与析构函数完成;malloc与free无法通过类 的指针来生成一个类空间,因为编译器无法将构造函数与析构函数的任务加于malloc与free; ...原创 2018-07-19 11:36:58 · 314 阅读 · 0 评论