C++
文章平均质量分 57
渔不二
这个作者很懒,什么都没留下…
展开
-
c++的vector赋值方法汇总 及正确释放vector的内存
vector可用于代替C中的数组,或者MFC中的CArray,从许多说明文档或者网上评论,一般一致认为应该多用vector,因为它的效率更高,而且具备很好的异常安全性。而且vector是STL推荐使用的默认容器,除非你知道你有特殊需要,使用vector不能满足你的需求,例如需要容器在head和tail高效的插入和删除,或者在任何位置高效的删除和插入操作,那么你可能使用deque或者list更加合适翻译 2016-12-14 16:47:13 · 37159 阅读 · 0 评论 -
c++对MySQL数据库的操作
1、安装MySQL2、VS 2010建立C++控制台应用程序,添加一个源文件sql.cpp3、建立好了之后,连接MySQL数据库需要有4个操作① 添加MySQL的包含文件;(include)项目--属性--VC++目录--包含目录--“D:\MySQL5.5\MySQL Server 5.5\include”;② 添加库目录;(lib)项目--属性--链接器--常规--附加库目录--“D:\MyS...原创 2018-06-26 16:22:57 · 2240 阅读 · 0 评论 -
C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别
转自:https://blog.csdn.net/tigerjibo/article/details/74255801.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从作用域看:1>全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量...转载 2018-03-26 14:18:06 · 1441 阅读 · 0 评论 -
VS2010静态编译生成.exe可执行文件,使c++程序脱离VS环境运行
VS2010静态编译生成的.exe可执行文件,可以免安装在其他电脑直接运行 静态编译:就是在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖动态链接库。编译方式有两种:第一种:一般可以配置一下两项:1.项目 -> 配置属性->常规->MFC的使用 :原创 2016-12-09 14:20:43 · 16883 阅读 · 1 评论 -
c++ free()函数和malloc()函数的使用
malloc是否与free是对应的,如果是new分配的只能用delete而不是free进行释放。int a=10; int *arr=(int *) malloc(sizeof (int)* a);截取一段简单代码说明:int min_z=1;for(int z=min_z; z<=max_z; z++){ int *vert_x=(int *)malloc(sizeof翻译 2016-12-13 14:09:47 · 24496 阅读 · 2 评论 -
学习c++的几点随记
1、在占用内存空间较大的局部数组声明的前面加static将其从堆栈数据段挪到全局数据段即可避开因局部数组大小超过默认堆栈大小1MB造成程序不能正常运行的问题。例如:static int a[50000][5];原创 2016-11-23 21:20:39 · 259 阅读 · 0 评论 -
c++函数如何返回多值,返回数组的函数该如何调用
1、函数如何返回多值将需要返回的多值存储在一个数组存储中,函数返回一个数组即可常用的方法是:声明一个返回指针的函数int *PP_point(){ int a[]={0,1,2,3,4,5,6,7,8,9}; int max=a[0]; int min=a[0]; for(int i=0; i<10; i++) { if(max<a[i]) max=a[i]; if原创 2016-12-06 10:00:14 · 7641 阅读 · 1 评论 -
c++计算一维数组中的最大元素
找出一维数组中的最大值先随便定义一个最大值 int max=a[0];遍历所有的元素与max相比较#include#include using namespace std;#define N 8int main(void){ float a[N],max,min; int i; cout<<"Input integers:"; for (i=0;i<N;i原创 2016-12-05 21:41:54 · 11723 阅读 · 1 评论 -
c++删除二维数组中的重复点
原理是计算两个点之间的差的平方和值,,若#include #include using namespace std;int main() { fstream fin_0("P_point.txt",ios::in); char c; int lineCnt_P=0; while(fin_0.get(c)) { if(c=='\n') lineCn原创 2016-12-05 21:30:38 · 3100 阅读 · 0 评论 -
C++删除文本文件空行
转载自:http://blog.csdn.net/u012995856/article/details/51527192大体思路: IO流打开文本文件,循环读取,把非空行入队列,读取完之后清空文件,把队列内容重新写回文件。纠结过: 当文件结尾几行是空行的时候就处理不了。 看到文件结尾标志是EOF,其实是16进制0xFF,想把这个直接写入到想终止的地方,这样就能造成文件结束了转载 2016-12-05 20:07:49 · 6278 阅读 · 0 评论 -
C++ 动态申请列数行数不确定的变长二维数组(主要是行数不确定)
主要是看与动态申请二维数组的区别动态申请行数 列数确定的二维数组;行数 列数确定 int n=k1,m=3; //n行 m列 int **scan_point; //动态申请二维数组 scan_point=new int*[n]; for(int i=0;i<n;i++) scan_point[i]=new int[m];原创 2016-12-05 19:07:19 · 9048 阅读 · 0 评论 -
C++程序运行出错的几点解决办法
问题一: 错误1:stack around the variable “XX” was corrupted.,中文翻译就是“在变量XX周围的堆栈已损坏”。 办法1:把“project->配置属性->c/c++->代码生成->基本运行时检查 设置为默认值,就没有这样的错误了。关于MSDN的解释是在堆栈外面读写某数据。错误是名为RTC1的编译器检测的。又看了更多的技术文章,发现这样的错误是程序员在原创 2016-11-22 09:23:49 · 4135 阅读 · 0 评论 -
C,C++,VC++,MFC之间有什么区别和联系
转载:http://blog.163.com/jackie_howe/blog/static/199491347201242011203225/C语言是一种古老而又经久不衰的计算机程序设计语言,大约诞生于上个世纪60年代。由于它的设计有很多优点,多年以来深受广大程序设计人员的喜爱,并逐渐淘汰了很多其它程序设计语言。我们平时使用的大多数软件都是用C语言开发的。很多后来出现的一些语言也沿用了很多它转载 2016-11-22 09:17:42 · 18409 阅读 · 0 评论 -
vector 计算数组中的最大值 最小值
使用STL的Vector时,利用函数 max_element,min_element,distance可以获取Vector中最大、最小值的值和位置索引:#include #include //vector成员函数头文件,否则没有max_element.....#include int main() { double a[]= {1.0, 2.0, 3.0, 4转载 2016-12-14 20:42:26 · 20979 阅读 · 0 评论 -
c++计算一个TXT文件的行数
其实就是计算有多少个换行符 '\n'#include#include#includeusing namespace std;int main(){ fstream fin("file.txt",ios::in); if(!fin) { cerr<<"can not open file"<<endl; return -1; } char c; in原创 2016-12-02 20:35:07 · 15596 阅读 · 2 评论 -
c++中用一个变量定义一维数组的元素个数
即所谓的变长数组C89标准不支持变长数组的功能,也就是说数组的长度在编译期就确定,不能在运行期改变。在C99标准中,新增的一项功能就是允许在C语言中使用变长数组。然而,C99定义的这种变长数组的使用是有限制的,不能像在C++等语言中一样自由使用。1、变长数组必须在程序块的范围内定义,不能在文件范围内定义变长数组;2、变长数组不能用static或者extern修饰;3、变长数原创 2016-12-02 14:40:45 · 8010 阅读 · 0 评论 -
c++ 创建二维数组的几种方法
1、用new申请一块内存空间存放二维数组#includeusing namespace std;int main(int argc, char* argv[]){ int n=10,m=2; // int **swp; //动态申请二维数组 n行 m列 swp=new int*[n]; for(int i=0;i<n;i++) swp[i]=new int[原创 2016-12-14 19:48:26 · 45498 阅读 · 4 评论 -
数组的四种排列方法
冒泡排序:从数组中首元素开始和其他元素逐个比较,若其中一个元素比其小(或大),就交换首元素与其位置 int k[] = {3,4,5,1,0,2}; for(int i=0;i<k.length-1;i++) { for(int j=i+1;j<k.length;j++) { if(k[i]>k[j]) { int temp...原创 2018-07-23 15:10:27 · 43242 阅读 · 2 评论