c++基础
Mxianyi
这个作者很懒,什么都没留下…
展开
-
C++ POD types
参考这个页面https://www.jianshu.com/p/0e7939d792d1在一个结构体内写了构造函数后从:struct aa{ int a; int b;}修改为:struct aa{ int a; int b; aa() { a = 0; b = 0; }}后再用struct aa test1;memset(&test1,0,sizeof(struct aa))原创 2020-06-04 10:45:50 · 215 阅读 · 0 评论 -
把m升水倒入n个桶中,可以有桶为空,问有多少种倒法
#include using namespace std;int count;void DPS2(int x1,int x2,int x3,int x4,int x5){ for(int i=x5;i>=0;i--) { if(x1==x2&&x3+i==x4) count ++; else if(x1<x2)原创 2016-06-05 20:26:23 · 1974 阅读 · 0 评论 -
用于分隔字符串的strtok()函数
用例如下第一次调用后,需要将strtok的第一个参数变为NULL#include#includeint main(){ char s[20] = "wo shi nong ming"; char *p; p = strtok(s," "); printf("%s\n",p); while(p=strtok原创 2016-06-13 10:34:40 · 388 阅读 · 0 评论 -
C++编程实现生产者/消费者模型(linux系统编程)
参考了这篇实现相同功能的java程序http://www.cnblogs.com/linjiqin/archive/2011/04/15/2016820.html代码如下:p_c.h/* * p_c.h * * Created on: 2016年6月28日 * Author: ZhangXianYi */#ifndef P_C_H_#define P_C原创 2016-06-28 19:21:55 · 3075 阅读 · 0 评论 -
sizeof(数组名) 与 sizeof(指针)
引用知乎上的一个回答,很直观char a[]="hello";char *bPtr;char b[]="good bye!";bPtr=b;printf("%d\n",sizeof(a)); // sizeof(char[6])printf("%d\n",sizeof(&b)); // sizeof(char(*)[10])printf("%d\转载 2016-10-14 12:55:43 · 537 阅读 · 0 评论 -
CCF火车购票
问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。 购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安原创 2016-12-16 14:43:35 · 1124 阅读 · 0 评论 -
收藏的一些不错的多线程编程的文章
一个简单的线程池的实现(C++)Java多线程的常见例子 http://www.cnblogs.com/pureEve/p/6524366.htmlJava并发编程:线程池的使用转载 2017-12-18 22:12:56 · 228 阅读 · 2 评论 -
虚函数的一个知识点
以前只关注虚函数在父类指针指向不同子类时,调用相同方法自动调用与类相对应的方法,这一个应用,最近发现还有一个妙用。上图一: 父类class A的方法b()没有用virtual修饰时,用类B去调用A的方法a()时,a()里面调用的b()依然是A的b()。上图二:父类class A的方法b()用virtual修饰后,用类B去调用A的方法a()时,a()里面调用的b()变成了B的b()。...原创 2018-02-08 10:06:48 · 180 阅读 · 0 评论 -
C、C++读写文件
每次到这个问题都弄好久,弄个备份在这里转载自这个页面https://blog.csdn.net/cashey1991/article/details/6769038 做了一点点修改,备份在这里#include "stdio.h"#include "stdlib.h"int main (){ FILE * pFile; long lSize; c...转载 2018-09-15 17:05:31 · 296 阅读 · 0 评论 -
安装完cppunit,发现编译代码失败
加上 -lcppunit -ldl参数啊!!!!原创 2018-10-18 15:00:02 · 329 阅读 · 0 评论 -
vs的一个调试的程序
命令OutputDebugString 将要显示的东西输出到输出窗口// project_fst.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #pragma comment(lib,"Psapi.lib")int _tmain(int argc, _TCHAR* argv[]){ int sum = 0原创 2016-06-05 10:09:44 · 311 阅读 · 0 评论 -
vector的用法小结
#include#include using namespace std;int main(){ vector ivec{1,2,3,4,5,6,7,8,9,10}; //令i依次为ivec中的每一个元素,并显示 for(auto i : ivec) cout << i << " "; cout << endl; //添加元素到原创 2016-05-20 20:38:18 · 2059 阅读 · 0 评论 -
STL系列之一 deque双向队列
原文地址:http://blog.csdn.net/morewindows/article/details/6946811deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数: deque的实现比较复杂,内部会维护一个map(注意!不转载 2016-05-23 14:02:49 · 222 阅读 · 0 评论 -
从多重继承中的二义性 到 虚基类(摘抄自谭浩强c++)
一个多重继承的程序#includeusing namespace std;class Teacher{public: Teacher(string nam,int a,string t):name(nam),age(a),title(t){} void display() { cout << "name:" << name << endl;转载 2016-05-11 16:15:47 · 692 阅读 · 0 评论 -
实验书本上关于继承的代码(摘抄)
公有继承:#includeusing namespace std;class student{public: void get_value() { cin >> num >> name >> sex; } void display() { cout << "num:" << num << endl;原创 2016-05-11 11:07:20 · 330 阅读 · 0 评论 -
从一个简单例子 到 虚函数(摘抄)
一个简单的Point类#include #include #include using namespace std;class Point{public: Point(float x=0,float y=0); void setPoint(float,float); float getX()const{return x;}原创 2016-05-12 11:46:51 · 255 阅读 · 0 评论 -
运算符重载(摘抄)
通过函数来实现复数相加#include using namespace std;class Complex{public: Complex(){real = 0;imag = 0;} Complex(float r,float i){real = r;imag = i;} Complex complex_add(Complex &c2); void原创 2016-05-12 20:05:33 · 251 阅读 · 0 评论 -
顺时针打印矩阵
题目地址:http://www.nowcoder.com/ta/coding-interviews?page=1顺时针打印矩阵参与人数:3934时间限制:1秒空间限制:32768K本题知识点: 数组 算法知识视频讲解题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8原创 2016-05-27 11:54:33 · 254 阅读 · 0 评论 -
int 转 string
#include #include using namespace std;int main(void){ int number=123456; stringstream ss; ss<<number; string s = ss.str(); cout << s; return 0;}原创 2016-05-30 16:07:46 · 233 阅读 · 0 评论 -
把数组排成最小的数
把数组排成最小的数参与人数:2338时间限制:1秒空间限制:32768K本题知识点: 数组 算法知识视频讲解题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。class Solution {public:原创 2016-05-30 16:54:59 · 233 阅读 · 0 评论 -
关于子函数中用new的问题
开始的时候 代码是这样的#includeusing namespace std;class tnode{public: tnode(int i):value(i){} int value; tnode *left; tnode *right;};void PreOrderTraverse(tnode *root){ cout value原创 2016-05-18 11:11:22 · 1240 阅读 · 1 评论 -
数组中只出现一次的数字 -- 尝试下set,以及异或^
数组中只出现一次的数字参与人数:2792时间限制:1秒空间限制:32768K本题知识点: 数组 算法知识视频讲解题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。class Solution {public: void FindNumsAppearOnce(vector data,int原创 2016-05-31 11:03:53 · 354 阅读 · 0 评论 -
牛客--二进制中1的个数
二进制中1的个数参与人数:7653时间限制:1秒空间限制:32768K 算法知识视频讲解题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。class Solution {public: int NumberOf1(int n) { if(n==-2147483648) return原创 2016-05-24 17:15:23 · 426 阅读 · 0 评论