
c++/c学习交流
文章平均质量分 86
gocpplua
这个作者很懒,什么都没留下…
展开
-
C++输出调试信息到VS中的输出窗口
前提:本机电脑上有VS2012,VS2013和VS2017,我想使用了VS2017实现:C++输出调试信息到VS中的输出窗口从网上找了资料:https://my.oschina.net/wangsifangyuan/blog/1499715根据上文,我使用方法三,但是一直无法找到文件atlbase.h。后来我在本机进行全局搜索,发现只有VS2012,VS2013 从拥有。那接下...原创 2018-10-25 10:02:41 · 4633 阅读 · 1 评论 -
C/C++堆、栈及静态数据区详解
五大内存分区在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自原创 2013-05-09 15:05:49 · 1079 阅读 · 0 评论 -
C++ explicit关键字
在C++ primer 4th的第394讲解了explicit这个关键字,下面就是我的学习心得。按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class MyClass { public: MyClass( int num ); } //. MyClass obj = 10; //ok,convert原创 2013-05-08 15:45:33 · 980 阅读 · 0 评论 -
不建议使用从字符串常量到‘char*’的转换
文章转载于:http://blog.youkuaiyun.com/haoel/article/details/1395358我相信,使用C/C++多年的人对下面这个字符串赋值语句都不会陌生吧。 char* p = "test"; 同时,我也相信,各位在使用这种语句后吃过很多苦头也不少吧?只要你想利用指针p来改变字符串的内容,你的程序都会得原创 2013-05-05 13:15:20 · 6941 阅读 · 2 评论 -
内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区
来自百度文库:http://wenku.baidu.com/view/f949a74033687e21af45a908.html一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初原创 2013-05-05 13:23:45 · 1302 阅读 · 0 评论 -
变量‘std::istringstream stream’有初始值设定,但是类型不完全
检查是不是头文件忘记了#include原创 2013-05-03 19:33:29 · 6971 阅读 · 2 评论 -
‘runtime_error’在此作用域中尚未声明
在linux上使用的是g++编译器,头文件要这么写(还是不太熟悉g++啊):#include#include#include#include //这个头文件必须引入using namespace std;原创 2013-05-03 10:07:10 · 2745 阅读 · 0 评论 -
VS离线帮助下载
1.打开http://vshd.codeplex.com/releases2.下载VS2010HelpDownloader.Binary-v1.0.0.33.直接运行4.选择要下载的东西ok原创 2012-12-19 12:43:30 · 1053 阅读 · 0 评论 -
extern "C
简介 extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的。让我们来详细解读这两重含义。含义 (1) 被extern 限定的函数或变量是extern类型的: a. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然原创 2012-12-17 14:12:52 · 826 阅读 · 0 评论 -
C++ primer智能指针(HasPtr)实现
智能指针显然是C++吸引人的地方之一,必须掌握。看了《C++primer》,里面着重讲了智能指针的实现方式。书中说到: “HasPtr(注:就是自定义的智能指针)在其它方面的行为与普通指针一致。具体而言,复制对象时,副本和原对象将指向同一基础对象。如果通过一个副本改变基础对象,则通过另一个对象访问的值也会改变。 新的HasPtr类需要一个析构函数来删除指原创 2013-05-09 15:13:55 · 1097 阅读 · 0 评论 -
C++进阶必读书籍
结合一些我的学习经历,希望对于想学C++的人有些帮助. 大家有什么好想法望提出我老师最初是从C语言教起的,用的是潭浩强的>这本书,那时候命令执行都是在CMD里实现,用的编译器是turboc最经常用到的就是 printf cin 对于效率不是很在乎,只要能执行就好了,连warning都忽略(这个很不应该).后来又学了C++,是清华大学出版的>,用的编译器是VC6.0.这本书也转载 2014-01-25 10:03:13 · 14449 阅读 · 4 评论 -
The source files...are both configured to produce the output file,The project cannot be built.
问题如下图:解决方案如下:原创 2016-08-01 19:20:55 · 2595 阅读 · 0 评论 -
VS”不能设置下面断点“和”无法单步执行“问题
在VS2012进行单步调试时候,出现下述问题:1、不能设置下面的断点:******** 断点未能绑定。2、无法单步执行。 系统找不到指定的文件。解决方案如下:在非调试模式下进行下图所示操作: 工具 -> 调试 -> 编辑并继续 -> 仅限本机的选项原创 2016-06-19 12:20:58 · 6071 阅读 · 0 评论 -
Jsoncpp使用详解以及链接问题解决
Jsoncpp使用详解以及链接问题解决原创 2015-08-01 16:18:31 · 11912 阅读 · 0 评论 -
vs2012警告未能加载包“visual c++ package”
vs2012警告未能加载包“visual c++ package”原创 2015-06-24 17:12:28 · 6719 阅读 · 2 评论 -
跨平台C、C++代码注意的事项
在我们的开发中,跨平台的需求越来越强烈,如何保持C/C++代码能在多个平台上编译,是一个比较值得研究的问题。关于跨平台的文章网上很多,跨平台的库网上也很多。那么我从自己的跨平台开发经验谈一谈自己的心得,希望对大家能够起到一定的作用。主要涉及到Windows和linux两个操作系统。1、 关于路径和头文件路径分隔符的问题在Windows中,正斜杠和反斜杠都可以,但是在Linux中,只能是/原创 2015-06-23 14:45:47 · 1216 阅读 · 0 评论 -
C++ New崩溃原理及解决方法
C++ New崩溃原理及解决方法原创 2015-03-24 22:59:34 · 15137 阅读 · 0 评论 -
VS2012与WIN7不兼容
VS2012与WIN7不兼容原创 2015-01-18 01:36:09 · 4184 阅读 · 0 评论 -
UIPFULL!DllCanUnloadNow崩溃问题解决
DllCanUnloadNow崩溃原创 2014-12-09 22:06:31 · 2429 阅读 · 1 评论 -
头文件保护
一、#pragma once(比较常用)这是一个比较常用的指令,只要在头文件的最开始加入这条指令就能够保证头文件被编译一次#pragma once用来防止某个头文件被多次include,#ifndef,#define,#endif用来防止某个宏被多次定义。#pragma once是编译相关,就是说这个编译系统上能用,但在其他编译系统不一定可以,也就是说移植性差,不过现在基本上已经是原创 2012-12-17 13:48:48 · 2049 阅读 · 0 评论 -
调用线程必须为 STA,因为许多 UI 组件都需要
class Mainclass { [STAThread] static void Main() { Application app = new Application(); MainWindow win = new MainWindow(); app.Startup原创 2012-12-26 16:37:30 · 4678 阅读 · 2 评论 -
C#弹出对话框及其取值 点击YES退出程序,点击NO返回程序
private void quit_Click(object sender, RoutedEventArgs e) { MessageBoxResult key =MessageBox.Show("确定退出?","温馨提示",MessageBoxButton.YesNo,MessageBoxImage.Question,MessageBoxResult.原创 2012-11-25 10:31:56 · 11018 阅读 · 1 评论 -
指针变量(再续)
//题目描述见上一篇//注意:仔细看函数!实际上这个函数无法完成题目要求!#includeusing namespace std;int main(){ void swap(int *pointer1,int *pointer2);//声明变量,其中形参为地址! int x,y; int *p1,*p2; while(cin>>x>>y) { p1=&原创 2012-03-07 10:47:12 · 662 阅读 · 0 评论 -
指针练习(续)
//问题描述见上一篇,代码如下#includeusing namespace std;int main(){ void swap(int *pointer1,int *pointer2);//声明变量,其中形参为地址! int x,y; int *p1,*p2; while(cin>>x>>y) { p1=&x; p2=&y; if(x>y)原创 2012-03-07 10:28:58 · 103 阅读 · 0 评论 -
指针练习
题目描述:输入x,y两个整数,按照从小到大输出 代码#includeusing namespace std;int main(){ int x,y; int *p; int *p1,*p2; while(cin>>x>>y) { p1=&x;//把x地址给指针变量p1 p2=&y;//把y地址给指针变量p2 if(x>y) {原创 2012-03-07 10:02:37 · 767 阅读 · 1 评论 -
最大矩形面积问题
★问题描述:在X轴上水平放置着N个条形图,这N个条形图就组成了一个柱状图,每个条形图都是一个矩形,每个矩形都有相同的宽度,均为1单位长度,但是它们的高度并不相同。例如,下图中,图1包含的矩形的高分别为2,1,4,5,1,3,3单位长度,矩形的宽为1单位长度。你的任务就是计算柱状图中以X轴为底边的最大矩形的面积。图2阴影部分就是上述例子的最大矩形面积。★数据输入:输入原创 2012-03-06 17:52:17 · 5645 阅读 · 3 评论 -
班级学生查找问题
题目描述:一个班级有n个同学,需要把每个同学简单材料(姓名,学号)输入到计算机保存。然后输入某一个学生姓名查找相关资料 代码实现:#includeusing namespace std;#includeint n;string name[50],num[50];int main(){ void input(); void f(string find_na原创 2012-03-06 20:26:56 · 1235 阅读 · 0 评论 -
最大公约数和最小公倍数
欢迎观看和交流 test.hint get();int max(int a,int b);int min(int a,int b);void print(int a,int b); test.cpp#includeusing namespace std; #include "test3.h"int main(){ int m,n;原创 2012-03-06 19:04:19 · 896 阅读 · 0 评论 -
冒泡排序(续)---用指针实现
#include using namespace std; int main() { void sort(int *arr,int n); int arr[10]; int n=10; for(int i=0;i { cin>>arr[i]; } sort(arr,10); for(int j=0;j原创 2012-03-07 15:06:18 · 1095 阅读 · 0 评论 -
用指针实现数组的输入输出
#includeusing namespace std;//方法一/*int main(){ int arr[10]; for(int i=0;i { arr[i]=i; } for(int *p=arr;p { cout }}*///方法二/*int main(){ int arr[10]; int *p=arr;原创 2012-03-07 14:21:12 · 5502 阅读 · 0 评论 -
烫烫烫烫烫烫烫----在使用指针进行字符串copy
#includeusing namespace std;int main(){ char str1[]="I Love China"; char str2[20]; char *p1=str1,*p2=str2; for(;*p1!='\0';p1++,p2++) { *p2=*p1; } *p2='\0'; p2++; *p2='A';原创 2012-03-07 20:30:42 · 2721 阅读 · 0 评论 -
关于C的printf以及浮点和整型问题
#includemain(){ //printf("hello,world");//C语言中所有的变量定义语句必须放在执行语句之前 //(即变量定义要放在函数的最开始几行), //否则就会出错。所以如果取消注释就会出错,因为a定义在执行语句printf后原创 2012-06-18 10:11:58 · 1737 阅读 · 0 评论 -
从richTextBox得到字符串并且保存到文本中
主要代码如下: //参考资料:http://dingxq.blog.163.com/blog/static/1305257612011037370779/ 部分解析请点击链接 saveFileDialog = new SaveFileDialog(); saveFileDialog.RestoreDirectory = true;//原创 2012-11-24 22:23:12 · 2160 阅读 · 0 评论 -
Java、C#区别之语法
Java、C#区别之语法(转载得到)-----不过本人自己开发了一个简单的java->C#的程序,不久将和大家见面由C# 转入Java一段时间了,总结下个人认为的Java同C#语法之间的不同之处,有不同意见之处还望各位海涵 刚学Java时觉得语法同C#大致是相同的(应该说C#同Java大致相同,毕竟人家微软的C#是有意模仿Java的语法习惯的) 比尔.盖茨曾经原创 2012-11-24 13:15:06 · 1178 阅读 · 0 评论 -
清空 RichTextBox
有人会问:WPF中 RichTextBox 怎么没有Text属性,还有 也没有Clear()这样的清空方法,怎么清空解答如下:RichTextBox是高级版的TextBox,能包含格式化的文字,内容存在Document(FlowDocument类型)属性(不是Text属性 代码如下:this.showSourceFile.Document.Blocks.Clear(); //注原创 2012-11-23 12:02:35 · 15902 阅读 · 1 评论 -
用链表实现插入排序
#include#include struct PCB{ int data; struct PCB* next;};int number;//用于输入pcb.data的值int num;struct PCB *start,*startHead,*temp,*newNode;int main(){ printf("请输入进程数:"); scanf("%d",&num)原创 2012-11-26 18:36:22 · 1986 阅读 · 0 评论 -
进程调度模拟程序设计-----FCFS算法简单实现
题目描述:一.实验目的和要求加深对进程概念和进程调度过程/算法的理解。本实验要求用高级语言编写和调试一个模拟动态优先权的进程调度算法程序。二、实验内容1.给出进程调度的算法描述(如基于动态优先级和时间片轮转调度算法的描述)。2.用C语言设计一个对n个并发进程进行调度的程序,每个进程由一个进程控制块(PCB)结构表示,该进程控制块应包括下述信息:进程标识ID、进程优先数PRIOR原创 2012-11-27 12:47:46 · 20682 阅读 · 0 评论 -
Vim 复制 全部复制
只要按照一下顺序就可全部复制Vim上的内容:g g v shift G " + Y ->然后直接ctrl v 到文件就好了原创 2012-11-25 22:26:23 · 18103 阅读 · 1 评论 -
Win32编程---实现点,线,面的绘制
#include #include using namespace std;//----------函数声明---------------void init(HWND hWnd,HINSTANCE hInstance);void pix(HWND &hWnd,HDC &hDC,HBRUSH &NewBrush,PAINTSTRUCT &Ps);//画点,也就是像素输出原创 2012-10-07 13:54:59 · 7594 阅读 · 0 评论 -
Win32编程---在窗体添加一个按钮
//1.找到回调函数WindProcedure,有些书是WndProc //2.定义一个HWND hwndButton //3.在switch(Msg)下的case WM_CREATE: 添加如下代码 hwndButton=CreateWindow(TEXT("button"),//必须为:button TEXT("anniu"),//按钮上显示的字符原创 2012-10-04 15:36:20 · 8019 阅读 · 1 评论