c++
胡大锤锤
这个作者很懒,什么都没留下…
展开
-
C++异常捕获(标准库stdexcept)
包含头文件#include <stdexcept>标准库有好几个异常可以既可以拿来使用,有的时候也会直接出现下面这种提示:其实这些异常是有解释的,截图来源于:https://www.runoob.com/cplusplus/cpp-exceptions-handling.html我们自己写代码也可以利用这些异常,或者自己定义异常,自己写了一个小例子,主要就是用到:throw 抛出异常try catch 捕获异常exception e e.what() ; ...原创 2021-03-18 16:32:14 · 2114 阅读 · 0 评论 -
string与doule互相转换并保留两位小数
其实string与double、int的互转有一些函数可以直接用,例如: //doule转string string str1 = to_string(3.14); //int转string string str2 = to_string(4); //string转int int x= atoi(str2.c_str()); //string转double double y = stof(str1.c_str());但是不满足我想顺便四舍五入保留小数位的需求,所以自己写了两个函数。原创 2021-03-18 16:01:51 · 3171 阅读 · 0 评论 -
按空格分隔字符串(利用sstream实现)
记录一个根据空格分隔字符串的函数,自己写的split代码:#include <iostream>#include <vector>#include <string>#include<sstream>using namespace std;vector<string> split(string temp)//按空格分隔字符串{ vector<string> str; string word; stringst原创 2021-03-18 15:33:34 · 690 阅读 · 0 评论 -
STL实现字符串的去重和排序(使用unique和sort)
最近发现STL中的algorithm中有各种算法可以直接用,现在实现一个字符串的排序和去重功能。字符串按照首字母和长度排序,去除相同的字符串效果:代码:#if 1#include <iostream>#include <string>#include <vector>#include<algorithm>using namespace std;bool compare1(string a, string b)原创 2021-03-11 15:04:45 · 1032 阅读 · 0 评论 -
记一个最简单的冒泡排序法
记录一个最简单的排序算法#include <iostream>using namespace std;void Bloop(int num[],int size){ for (int i = 0; i < size-1; i++) { for (int j = 0; j < size-1-i; j++) { if (num[j]>num[j+1]) { int temp = num[j]; num[j] = num[j+原创 2021-02-03 16:53:27 · 77 阅读 · 0 评论 -
C++链表(简单实现增删改查)
补充之前有一篇博客,实现简单的增删改查功能main函数内为测试内容#include <iostream>using namespace std;struct Student{ int num; char name[10]; Student *next;};Student *head;//全局头节点//增---新增节点数据void AddNode();//删---删除节点数据void DelectNode();//改---改变节点数据void Chang原创 2021-02-03 16:10:57 · 1725 阅读 · 0 评论 -
c语言链表
实现添加元素和打印所有元素其他操作后续补充#include <stdio.h>typedef struct Link{ int data; struct Link *next;}link;link* Greate(link* head);//添加元素void outall(link* head);//显示所有元素link* Greate(link *head){ link *p = NULL;//定义头指针 link *pr = head; p = (link原创 2020-10-16 16:56:22 · 110 阅读 · 0 评论 -
c/c++引用的方式值传递
值传递的方式看了好几次,但是一直记忆不深刻,下面做一个例子记录使用引用的方式进行值传递,其他方式另出博客研究。#include<stdio.h>#include <Windows.h>void test(int& a, int b){ a = 2; b = 3;}int main(){ int a=0; int b = 0; test(a, b); printf("a=%d,b=%d", a, b); system("pause"); ret原创 2020-09-23 15:36:03 · 98 阅读 · 0 评论 -
c++数据越界问题
最近的工作遇到了一个很基础的c++数据越界的问题,程序运行一直报“内存不足”。开始一直以为是程序运行时产生了内存碎片导致,无法分配一大块内存区。后来终于发现是一个非常基础的数据越界问题。问题演示:int h,w,count,imgsize;h=20000;w=20000;count=7imgsize=h*w*count/8;byte* img=new byte[imgsize];//操作系统提示:内存不足分析:int占32位是,最大整数是2^31-1=2147483647;而刚原创 2020-08-10 21:57:06 · 2159 阅读 · 0 评论 -
VS创建使用静态库(实战)
本篇文章只讲实际操作,静态库和动态库的区别简单来说,静态库就是在编译时,库函数已经被编译进工程;动态库时在运行时,程序才去调用库函数。下面讲解如何利用vs2019创建静态库和在另外一个工程使用这个静态库。创建静态库一、在vs中点击新建项目,搜索静态库,创建静态库二、静态库的工程名,取名为:StaticLib1,下面自动生成头文件和源文件。,三、手动新增一个LibTest.h和LibTest.cpp,在里面增加你自己需要的类和函数。我自己添加了CLibTest类和CLibtest.原创 2020-08-02 14:14:54 · 4078 阅读 · 3 评论 -
Find函数
比较字符串是否相同,相同为0,不相同非零。CString str; str="s"; if (str.Find("s")==0) { AfxMessageBox("11111"); } else { AfxMessageBox("null"); }输出结果是11111....原创 2019-12-04 16:32:56 · 461 阅读 · 0 评论 -
ceil和floor 取整函数
ceil向上取整floor向下取整ceil的实例#include <iostream>#include <math.h>using namespace std;int main(){ double a[10]; for (int n=0;n<10;n++) { cout<<"输入a:"<<endl; cin&...原创 2019-11-25 21:23:54 · 208 阅读 · 0 评论 -
c++中构造函数和析构函数的使用
构造函数构造函数是随着一个对象被创立,而调用,函数名与类名相同,没有返回值。用处:可以在函数里面为一些变量设置初始值。class People{public: People();//构造函数 ~People();//析构函数};实例:#include <stdio.h>#include<iostream>using n...原创 2019-11-24 16:10:20 · 278 阅读 · 0 评论