![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++学习
ZHEXI_Coding free
java/大数据
展开
-
C/C++中四种不同的类型转换方式
使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。 1 static_cast用法:static_cast ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层转载 2015-10-03 15:40:31 · 655 阅读 · 0 评论 -
多维数组的动态分配(二三维)
多维数组的动态分配(二三维)//////////////c用malloc和free//////////////////////////////#i nclude "stdio.h" #i nclude "stdlib.h" void main() { int **p;转载 2015-07-28 11:13:49 · 543 阅读 · 0 评论 -
p,&p,*p的区别
一、区别 int z=0; int &x = z;//引用,x与z指向同一内存单元 int *y; y = &x;//0x0012ff14 p本身所占内存单元的地址 cout 下面是摘抄别人的一段测试程序。void test(){ int a=8; int *p=&a; p=(int *)m转载 2015-07-28 10:34:33 · 1062 阅读 · 0 评论 -
C++动态分配内存
http://www.cnblogs.com/yingying0907/archive/2012/07/31/2616975.html1.堆内存分配 :C/C++定义了4个内存区间: 代码区,全局变量与静态变量区,局部变量区即栈区,动态存储区,即堆(heap)区或自由存储区(free store)。堆的概念:通常定义变量(或对象),编译器在编译时都可以转载 2015-07-28 09:20:42 · 368 阅读 · 0 评论 -
const和static的作用
一、CONST的作用1、保护被修饰的变量,防止程序中意外修改2、为函数的重载提供一种区别方法例如:void fun(int i) { ...} void fun(int i) const { ... } // 跟上面的函数一起构成重载二、CONST的使用1、被修饰的指针本身是不能修改的例如:void fun(char转载 2015-07-03 14:39:28 · 459 阅读 · 0 评论 -
C++中相对路径与绝对路径以及斜杠与反斜杠的区别
文件路径 正斜杠和反斜杠正斜杠,又称左斜杠,符号是"/";反斜杠,也称右斜杠,符号是"\"。文件路径的表示可以分为绝对路径和相对路径:1、绝对路径表示相对容易,例如pDummyFile =fopen("D:\\vctest\\glTexture\\texture\\dummy.bmp", "rb"); 给出了从盘符开始的全部路径,这里需要注意的是“\”要用双斜线"\\",vc工程默认访转载 2015-06-25 21:05:18 · 526 阅读 · 0 评论 -
C++语法总结,语法查询
http://blog.csdn.net/sergery/article/details/9195261How to Program in C++http://cs.fit.edu/~mmahoney/cse2050/how2cpp.htmlHow to Program in C++You may copy this file f转载 2015-06-16 11:08:22 · 1950 阅读 · 0 评论 -
#include“stdafx.h”头文件的相关知识
1,用VS2008新建项目,选择【Win32】-【Win32控制台应用程序】-输入名称:Test-【确定】 再选【下一步】-默认情况下,我们都是在【空项目】前打上对勾,建立一个纯的C或C++程序。我们这里选择默认,即【预编译头】前打上对勾,之后【完成】2,在Test项目中,头文件有stdafx.h和targetver.h,源文件有stdafx.cpp和Test.cpp,还转载 2015-06-15 22:46:06 · 11975 阅读 · 0 评论 -
非常量引用的初始值必须为左值的问题
原文地址:非常量引用的初始值必须为左值的问题作者:逆光Summer首先,先看下面一个例子:eg.1#includeiostream>usingnamespace std;int main(){int i =2;double &r =i;return 0;}gcc error: invalid initialization of r转载 2015-05-26 21:10:17 · 11135 阅读 · 2 评论 -
最值得阅读学习的 10 个 C 语言开源项目代码
伯乐在线注:『阅读优秀代码是提高开发人员修为的一种捷径』http://t.cn/S4RGEz 。之前@伯乐头条 曾发过一条微博:『C 语言进阶有哪些优秀的代码可以阅读?』http://t.cn/R72EdtY 。今天来看看 平凡之路 推荐的《最值得阅读学习的 10 个 C 语言开源项目代码》。1. WebbenchWebbench是一个在linux下使用的非常简单的网站转载 2015-10-13 13:46:07 · 503 阅读 · 0 评论 -
C++中虚函数与纯虚函数以及虚继承的相关知识
这篇文章主要利用网上的博客,经过自己的总结写成,不免出现错误情况,如有错误,请指正。虚函数首先是虚函数的意义。在面向对象的设计思想中,虚函数的作用是实现多态性。如何实现多态呢?下面看C++虚函数表的解析来理解。虚函数表 http://blog.csdn.net/haoel/article/details/1948051/对C++ 了解的人都应该知道虚函数(Virt转载 2015-09-08 20:42:53 · 4439 阅读 · 1 评论 -
VS中LNK错误分析
1 标签: link错误 LINK错误总结1学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于 编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时, 编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不 明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK20转载 2015-11-25 09:57:19 · 2203 阅读 · 0 评论 -
C++ 异常
一、什么是异常处理 一句话:异常处理就是处理程序中的错误。二、为什么需要异常处理,以及异常处理的基本思想 C++之父Bjarne Stroustrup在《The C++ Programming Language》中讲到:一个库的作者可以检测出发生了运行时错误,但一般不知道怎样去处理它们(因为和用户具体的应用有关);另一方面,库的用户知道怎样处理这转载 2015-12-13 23:13:37 · 366 阅读 · 0 评论 -
深入解析C++中的mutable关键字
在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中转载 2015-12-24 10:31:44 · 355 阅读 · 0 评论 -
C语言中的二级指针和二维数组问题
关于二级指针和二维数组两者差别很大,不可以直接用二级指针传递二维数组首先来看看二维数组在内存中是如何组织的呢?一维数组 T arr1 = new T[9] 二维数组T arr2 = new T[3][3]实际上,不管是一维还是多维数组,都是内存中一块线性连续空间,因此在内存级别上,其实都只是一维。但是不同的定义使得表现形式不一样,从而有多维数组的概念。访问数组元素转载 2015-08-06 11:02:58 · 1640 阅读 · 0 评论 -
32位与64位下各类型长度对比
64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂);可以访问大型数据库。本文介绍的是64位下C语言开发程序注意事项。1. 32 位和 64 位C数据类型32和64位C语言内置数据类型,如下表所示:上表中第一行的大写字母和数字含义如下所示:I表示:int类型L表示:long类型转载 2015-08-21 23:19:27 · 711 阅读 · 0 评论 -
指针常量与常量指针(const用法总结)
const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性指向常量的指针:const int *pa;int const *pa;两者等价。因为指向常量的指针有时候会指向常量,所以它具有这个性质:“不能靠解引用改变它指向的对象的值”,以此保护它所指向的常量的常量性:*pa =d; // 不可行(d是已经声明过的整型转载 2015-10-04 15:15:29 · 2003 阅读 · 0 评论 -
C/C++ 内存对齐原则及作用
struct/class/union内存对齐原则有四个:1).数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组,结构体等)的整数倍开始(比如int在32位机为4字节, 则要从4的整数倍地址开始存储),基本类型不包括struct转载 2015-10-04 09:50:49 · 29607 阅读 · 9 评论 -
C++运算符重载
C++中的操作符重载一、什么是操作符重载操作符重载可以分为两部分:“操作符”和“重载”。说到重载想必都不陌生了吧,这是一种编译时多态,重载实际上可以分为函数重载和操作符重载。运算符重载和函数重载的不同之处在于操作符重载重载的一定是操作符。我们不妨先直观的看一下所谓的操作符重载: 1 #include 2 3 using namespace std; 4 5转载 2015-10-03 16:43:59 · 535 阅读 · 0 评论 -
大端模式和小端模式
在 各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正 确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:Big-Endian和Little-Endian,下面先从字节序说起。一、什转载 2015-10-21 22:49:30 · 483 阅读 · 0 评论 -
ACM输入输出--多组测试用例--C、C++、Java
C和C++:必须是 int main()提交,输入和输出的格式一定要按照题目要求的去写,否则提交不过。输入不可用文件输入。LanguageCC++To read numbersint n;while(scanf("%d", &n) != EOF){ ...}i转载 2015-10-09 23:15:35 · 1628 阅读 · 0 评论 -
Java的List模板类型与C++的list模板类型的比较
http://blog.csdn.net/leopardaa521/article/details/5736825Java的List只是一个容器接口,定义List必须用一些实现类如ArrayList来实现。对List使用需要理解几个关键点: ①List的add()方法只能添加对象,无法添加基本数据类型! ②List不会自己去开辟空间来复制add()添转载 2015-10-09 16:19:13 · 1080 阅读 · 0 评论 -
qsort函数的用法
qsort函数用法qsort 功 能: 使用快速排序例程进行排序 用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *)); 各参数:1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针用于转载 2015-10-25 12:39:15 · 399 阅读 · 0 评论 -
singleton instance 实现
单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。单例模式(Singleton)UML类图:分析:转载 2015-10-12 22:43:46 · 618 阅读 · 0 评论 -
C++面试常见题目问与答(汇总一)
http://blog.csdn.net/charles_r_chiu/article/details/47858885此次整理来自QQ群186588041,所有资料来自谭校长、张教主、H神、Robort、fight for dream、刀刀、二货 主要是总结了一些经常被问道的面试题 经验不足,水平有限,希望读者能提出宝贵的意见~~~~1、什么是虚函数?什么是纯虚函转载 2015-10-26 23:26:10 · 774 阅读 · 0 评论 -
C语言与C++中点运算符与箭头运算符的区别
在c++中I如果是对象,就可以通过"."来调用I中的成员变量。如果I是指针的话,就不能通过"."来调用,而只能使用"->"来调用。在C语言中不存在对象的概念。这种情况的出现是因为使用了结构,例如struct CandyBar{float weight;int calorie;};在程序中CandyBar snack={2.3,350};我们就可以转载 2015-09-22 13:38:14 · 4124 阅读 · 0 评论 -
C语言 malloc/free和C++中new/delete的区别
1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.转载 2015-08-31 15:51:10 · 11482 阅读 · 1 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2015-08-31 15:28:29 · 352 阅读 · 0 评论 -
二维数组作为函数参数传递剖析(C语言)
http://www.cnblogs.com/yangxi/archive/2012/03/22/2411452.html前言 很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来用,准没错://对于一个2行13列int元素的二维数组//函数f的形参形式f(int daytab[2][13]) {...}//以下两种可以忽略行数f(int daytab[]转载 2015-08-31 15:23:08 · 689 阅读 · 0 评论 -
C++类型转换详解--const_cast
一. 函数描述:const_cast ( expression )主要是用来去掉const属性,当然也可以加上const属性。主要是用前者,后者很少用。去掉const属性:const_cast (&num),常用,因为不能把一个const变量直接赋给一个非const变量,必须要转换。加上const属性:const int* k = const_cast(j),一般很少用,转载 2015-12-24 14:48:01 · 400 阅读 · 0 评论