c/c++
文章平均质量分 84
runner668
这个作者很懒,什么都没留下…
展开
-
c语言将格式化字符串输入到文件或者缓存
很多时候我们需要写入数据到文件中时都觉得很困扰,因为格式乱七八槽的,可读性太差了,于是我们就想有没有什么函数可以格式化的从文件中输入和输出呢,还真有。下面我将讲解一下fscanf和fprintf与sprintf()的强大之处。1、fscanf(可以从一个文件流中格式化读出数据,遇到空格或回车就停止)原型: int fscanf(FILE *stream, const char *fo...原创 2018-05-23 13:55:32 · 10206 阅读 · 0 评论 -
深度探索c++对象模型
推荐文章-https://www.cnblogs.com/QG-whz/p/4909359.html#_labelTop1.何为C++对象模型?引用《深度探索C++对象模型》这本书中的话:有两个概念可以解释C++对象模型:语言中直接支持面向对象程序设计的部分。 对于各种支持的底层实现机制。直接支持面向对象程序设计,包括了构造函数、析构函数、多态、虚函数等等,这些内容在很多...转载 2019-05-25 12:07:13 · 257 阅读 · 0 评论 -
C++——4个默认成员函数详解
本博客参照林锐《高质量程序设计指南C++/C语言》(第三版)第十三章完成在C++中,每个类都有三种成员函数——构造函数、析构函数和赋值函数(ps:构造函数有构造函数和拷贝构造函数两种)。对于任意一个类A,如果不显式地声明定义以上函数,编译器会自动为A生成4个默认函数,如下:A(); //默认构造函数A(const A&); ...转载 2019-05-25 11:40:22 · 843 阅读 · 0 评论 -
深度优先求排列组合
一:全排列 #include<stdio.h> #include<iostream> using namespace std; int ans; int num[20]; int visited[20]; void solve(int a[]) { for(int i=0;i<5;i++) ...原创 2018-08-29 19:49:25 · 810 阅读 · 0 评论 -
字符串转数字被3整除
第一题:描述:输入一个字符串,比如12345,拆分组合转数字,求它所有可以被3整除的最大数12 ,345 :212,3,45 :3 这里用到了贪心算法 和 一个规律:能被3整除的数的位数和也能被3整除: #include <stdio.h> #include <iostream> #include <string> ...原创 2018-08-29 16:55:52 · 1528 阅读 · 0 评论 -
求子数组问题
子数组问题分为三类:1:连续子数组2:非连续子数组3:可连续也可以不连续这三类问题的解决办法一般都是循环或者动态规划,尝试了dfs算法,结果把自己给绕进去了! 一:最大升序问题(属于第三类)参考:https://www.cnblogs.com/lerongwei/p/4890633.html1:动态规划解法:利用动态规划来做,假设数组为1, -1, 2, -3...原创 2018-08-29 16:36:34 · 602 阅读 · 0 评论 -
基于partation的数据处理
在求数据的前K小项或者找找中位数以及快速排序算法中都会用到partation找数据的合适位置,从而减小时间效率,本小章节总结常见的处理算法。一:求数组的第K大的数第一种解法:基于partation的时间复杂度为o[n]的解法!这里是一个收敛数列:1 + 1/2 +1/3 + .... = 2 #include<iostream> using...原创 2018-08-31 21:47:13 · 348 阅读 · 0 评论 -
排序算法总结-面试
#include<stdio.h>void Swap(int A[],int i,int j){ int tmp =0; tmp = A[i]; A[i] = A[j]; A[j] = tmp;}//冒泡排序void maopao_sort(int A[],int n ){ for(int i=0 ;i<n; i++) { ...原创 2018-08-24 19:46:12 · 234 阅读 · 0 评论 -
c语言找子串
简单的额一道题,求字符串子串的个数,顺便复习一下几个常用函数#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <string.h>int ChangeStr( char *src, char *substr, char *chg_str,char *de...原创 2018-08-31 14:54:33 · 13801 阅读 · 0 评论 -
实现相对位置不变的奇数偶数排序
例如 将 12345 变成:13524求最少的额交换次数这里用到了排序的思想 #include <iostream> #include <vector> using namespace std; int reOrderString(string &vec) { int size = vec.size();...原创 2018-08-31 09:22:04 · 1341 阅读 · 0 评论 -
C++ 重载操作符 operator
参数个数的限定 非成员函数: 单目运算符:参数表中只有一个参数; 双目运算符:参数表中只有两个参数 成员函数: 单目运算符:参数表中没有参数; 双目运算符:参数表中只有一个参数operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。 这是C++扩展运算符功能的方法,...转载 2018-08-30 19:13:16 · 614 阅读 · 0 评论 -
HTTP 协议的历史演变和设计思路
转自:https://www.oschina.net/news/76365/http-introduceHTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点。本文介绍 HTTP 协议的历史演变和设计思路。一、HTTP/0.9HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服...转载 2018-08-08 22:21:51 · 167 阅读 · 0 评论 -
c++智能指针——原理与实现
转子:https://www.cnblogs.com/wxquare/p/4759020.html1.智能指针的作用 C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C++11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发...转载 2018-06-01 17:44:30 · 27634 阅读 · 3 评论 -
c++中的多态机制——运算符重载
一:c++中的多态机制一般至少有四种实现方式:1: 普通函数重载,参数类型不同(参数列表不同),返回值类型可以相同2: 运算符重载:一般用于对我们自定义的类中的数据进行操作3: virtual虚函数,一般是在类的继承中实现的。4:使用模板:实现类的多态二:c++重载机制:函数返回类型不影响生成的符号名函数名,参数列表(参数类型、数目)才是影响符号名的因数例如:foo_int_int这样的名字包含了...原创 2018-06-01 15:12:35 · 1495 阅读 · 0 评论 -
opencv开发一
一 遍历矩阵元素1 使用迭代器#include <iostream>#include "opencv2/opencv.hpp"using namespace std;using namespace cv;int main(int argc, char* argv[]){Mat grayim(600, 800, CV_8UC1);Mat colorim(600, 800, ...原创 2018-06-01 11:19:32 · 598 阅读 · 0 评论 -
字符串替-去除换空格
一:字符串去空格 这道题目是需要清楚空格,那么清除空格后所得到的字符串要比原先的字符串要短,这是我们从头到尾进行清楚空格的话就不会覆盖到空格后面的字符,所以我们可以从头开始清除。设定两个指针p1和p2初始状态都指向字符串首字符。如果p2指向的元素不为空格,那么将p2指向的内容赋值给p1,然后p1和p2指向下一个元素;如果p2指向的内容为空格,那么p2指向下一个元素。直到p2指向字符串末尾的'\0...原创 2018-06-06 23:49:53 · 589 阅读 · 0 评论 -
C ++ 中不容忽视的 25 个 API 错误设计!
来自网站 极客分享 https://geek-share.com/对于许多C ++开发人员来说,API设计可能会在其优先级列表中排名第3或第4。大多数开发人员都倾向于使用C ++来获得原始功能和控制权。因此,性能和优化的想法占据这些开发者的时间的百分之八十。当然,每个C ++开发人员都会考虑头文件设计的各个方面,但是API设计不仅仅是头文件设计那样。事实上,我强烈建议每一个开发人员在其A...转载 2019-05-26 17:14:18 · 566 阅读 · 0 评论