
c/c++
文章平均质量分 65
iking83
激情
展开
-
std::function
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include < iostream>#include <string>#include <functional>using namespace std;string func(int a, int b){ r...原创 2020-02-11 11:07:32 · 139 阅读 · 0 评论 -
关于c++二进制兼容性
所谓“二进制兼容性”指的就是在升级(也可能是 bug fix)库文件的时候,不必重新编译使用这个库的可执行文件或使用这个库的其他库文件,程序的功能不被破坏。qt使用d指针就是为了做到二进制兼容性。参考文章:https://blog.youkuaiyun.com/mznewfacer/article/details/6976293https://www.cnblogs.com/Solstice/...原创 2020-01-13 21:00:37 · 317 阅读 · 0 评论 -
使用multiset时的一个bug
自定义类型class Vector3{public: double p1; double p2; double p3; Vector3() { } Vector3(double a, double b, double c) { p1 = a; p2 = b; p3 = c; } bool operator==(const Vector3& t1...原创 2019-07-27 19:28:39 · 131 阅读 · 0 评论 -
qt学习
Qt 不是使用的“标准的” C++ 语言,而是对其进行了一定程度的“扩展”。这里我们从Qt新增加的关键字就可以看出来:signals、slots 或者 emit。所以有人会觉得 Qt 的程序编译速度慢,这主要是因为在 Qt 将源代码交给标准 C++ 编译器,如 gcc 之前,需要事先将这些扩展的语法去除掉。完成这一操作的就是 moc。moc 全称是 Meta-Object Compiler,也就是...原创 2018-03-05 14:05:40 · 183 阅读 · 0 评论 -
c++临时对象
临时对象通常产生于以下4种情况:类型隐式转换按值传递按值返回对象定义(A())<1>. 在使用一个临时对象( 可能是无名对象 或者 返回对象值时 ) 创建构造另一个对象的过程的中,c++会优化掉该临时对象的产生,直接以相同参数调用相关构造函数构或者 直接调用拷贝构造函数 到 目标对象. <2>. 若不是对象创建,而是对象赋值,则在赋值表达式的右值处的临时对象 ...原创 2018-03-08 18:47:30 · 235 阅读 · 0 评论 -
5. Longest Palindromic Substring
Longest Palindromic Substring Part IINovember 20, 2011 by 1337c0d3r 158 RepliesGiven a string S, find the longest palindromic substring in S.Note:This is Part II of the article转载 2017-09-28 23:44:05 · 185 阅读 · 0 评论 -
c++ RTTI
自从1993年Bjarne Stroustrup 〔注1 〕提出有关C++ 的RTTI功能之建议﹐以及C++的异常处理(exception handling)需要RTTI;最近新推出的C++ 或多或少已提供RTTI。 然而,若不小心使用RTTI,可能会导致软件弹性的降低。本文将介绍RTTI的观念和近况﹐并说明如何善用它。 什么是RTTI﹖ 在C++ 环境中﹐头文件(h转载 2017-08-27 18:08:53 · 217 阅读 · 0 评论 -
全排列
#include #include #includeint count=0;void swap(char *a,char *b){char temp;temp=*a;*a=*b;*b=temp;} int isChange(char str[],int i,int j){int k;for( k=i;kif(str[k]==str原创 2017-02-25 11:22:16 · 247 阅读 · 0 评论 -
char *a 与char a[] 的区别
char *a = "hello" 中的a是指向第一个字符‘a'的一个指针char a[20] = "hello" 中数组名a也是执行数组第一个字符‘h’的指针但二者并不相同:看实例:把两个字符串相加:结果:对比:结果:把字符串加到指针所指的字串上去,出现段错误,本质原因:*d="0123456789"存放在常量区,是无法修的。而数组是存放在栈中,是可以转载 2016-09-06 16:53:09 · 416 阅读 · 0 评论 -
二叉树各种操作
#include#include#include#include#include#include#include#include#include using namespace std;typedef struct BitNode{ char data; BitNode* lchild; BitNode* rchild;}BitNode, *BitTree;typ原创 2016-08-01 17:04:25 · 314 阅读 · 1 评论 -
1003. 我要通过!(20)
题目描述:“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是原创 2016-05-09 21:02:43 · 734 阅读 · 0 评论 -
STL算法 排序
要对对象成员排序,一种方法是重载比较运算符,另一种方法是自己写比较函数#include"stdafx.h"#include#include"math.h"#include#include#include using namespace std;class stu{public: string str; int num1; int num2; stu(string原创 2016-05-29 21:50:07 · 298 阅读 · 0 评论 -
C++拷贝构造函数详解
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copyint a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。转载 2016-03-16 22:06:42 · 381 阅读 · 0 评论 -
模拟键盘事件 System.Windows.Forms.SendKeys
1.模拟键盘事件System.Windows.Forms.SendKeys以下是 SendKeys 的一些特殊键代码表。 键 代码 BACKSPACE {BACKSPACE}、{BS} 或 {BKSP} BREAK {BREAK} CAPS LOCK {CAPSLOCK} DE转载 2015-09-20 22:41:27 · 4941 阅读 · 0 评论 -
switch语句和if语句的一些区别
/*if (firstkey == 43) { firstnum += secdnum; firstkey = e.KeyChar; } if (firstkey == 45原创 2015-09-19 22:29:46 · 1399 阅读 · 0 评论 -
递归逆序输出字符串
#include void reverse(){ char c; if((c = getchar()) != '\n') reverse(); if(c != '\n') putchar(c);}void main(){ reverse(); printf("\n");}很经典转载 2015-06-15 22:25:46 · 994 阅读 · 0 评论 -
改变字体颜色的API函数
#include "conio.h"#include #include "windows.h"int textbackground(short iColor){ HANDLE hd = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO csbInfo; GetConsoleScree转载 2015-06-15 22:52:24 · 1094 阅读 · 0 评论 -
getch(),getchar()
getch(): 所在头文件:conio.h 函数用途:从控制台读取一个字符,但不显示在屏幕上例如: char ch;或int ch; getch();或ch=getch(); 用getch();会等待你按下任意键,再继续执行下面的语句; 用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。getchar():该函数声明在stdio转载 2015-06-15 22:50:26 · 496 阅读 · 0 评论 -
C++中生成任意范围内随机数的方法
[cpp] view plaincopy//该宏定义需要放在所有头文件的前面,否则可能编译通不过 #define _CRT_RAND_S #include #include using namespace std; //产生随机数,其中范围为min~max unsigned int Random(int min,int转载 2015-06-20 23:00:54 · 2076 阅读 · 0 评论