
c/c++
_taylorZ
抱歉了各位,很早就没做开发了,所以很长时间都没登陆
展开
-
Qt基础
一些小问题:1:公司是vs开发qt,qt的ui拖控件,然后vs输入ui不会提示,需要右击.ui文件编译tips2:可以右键通过git,vs code到当前目录,cmd或者powershell的话,按住shift然后鼠标右键,就可以看到在此处打开powershell窗口,发布程序很方便3:Qt4在Vs上qDebug会乱码//头文件#include <QTextCodec>//main函数里 QApplication a(argc, argv); //解决vs控制台输出中文原创 2021-03-31 22:04:46 · 530 阅读 · 0 评论 -
慕课网迷宫游戏
学习c++有一段时间了,之前在慕课网碰到的一道题,老师给的, 大致说下吧,P代表人,开始时P在起点,然后P根据地图(‘#’代表墙,空格代表路)来判断前进的方向,并且为了实现动画效果,可以用这样一个函数void Person::goto_Pos(Coor c){ COORD cd; cd.X = c.y+1; cd.Y = c.x; SetConsoleCurs原创 2017-02-21 13:15:25 · 887 阅读 · 0 评论 -
c++笔记(一)
这里写的主要是一些c/c++值得注意的地方和c++primer笔记,方便以后回顾,复习c++,当然会有一些错误,发现后再改正 //当形参引用时,数组不能转化为指针//“\”是连接符,当宏定义用多行时常用1:c中不可以连续赋值; c++可以,如int a,b,c;a=b=c=1;2:一般int main(){ ... } 如果main...原创 2016-05-14 10:31:58 · 1839 阅读 · 0 评论 -
简单的snake小游戏
跟着视频做了一个贪吃蛇的项目,主要是了解逻辑,发现还差得远呢,继续努力# include<iostream># include<ctime># include<Windows.h># include<conio.h>/*conio.h不是C标准库中的头文件,在C standard library,ISO C 和POSIX标准中均没有定义。conio是Console Input / Outp原创 2017-01-31 21:41:30 · 509 阅读 · 1 评论 -
线性表(带头结点的单链表)
node.h#pragma oncetemplate<typename T>class node{public: node() = default;//默认构造函数 node(T x) :elem(x),next(NULL) {}; T elem; //节点元素 node *next;};linkList.h#pragma once# include"nod原创 2017-03-11 12:32:31 · 1095 阅读 · 0 评论 -
顺序表(线性结构)
类模版不能分别在.h和.cpp文件中定义,所以只能都放在.h文件里seqList.h# pragma//类模版template<typename T>class seqList{public: seqList(int size=30); //默认构造函数,容量默认为30吧 ~seqList(); //析构函数 void push_ba原创 2017-03-11 10:25:06 · 410 阅读 · 0 评论 -
c++用wcout输出宽字符
偶然想起如何用c++直接输出宽字符,所以还是记下来吧# include<iostream>using namespace std;int main(){ //要想输出宽字符,加上这句就可以了 wcout.imbue(locale("", LC_CTYPE)); wchar_t str[] = L"宽字符"; char s[] = "字符"; cout <<原创 2017-03-29 18:13:33 · 10318 阅读 · 0 评论 -
c++primer里的文本查询程序扩展
感觉这个例子很锻炼面向对象思想,所以还是写下来吧Query_base.h#pragma once# include"TextQuery.h"# include"QueryResult.h"# include<string>//这是一个抽象基类,具体的查询类型从中派生,所有成员都是private的class Query_base{ friend class Query;protect原创 2017-04-19 19:12:43 · 776 阅读 · 0 评论 -
C++11多线程注意事项以及detach中的坑
多线程编程是必须要掌握的,以前多线程基本是靠系统API或者第三方库完成的,比如windows的API函数CreateThread,linux创建线程函数pthread_create,但是这样编写的代码不可移植,不能跨平台,比如windows的多线程程序拿到linux下是跑不起来的,相反也一样,很不方便,然而C++11语言本身支持多线程,和平台无关,下面就来简单认识多线程# include<...原创 2019-05-02 15:11:43 · 14499 阅读 · 8 评论 -
std::ref
thread构造函数中,第一个为可调用对象,后面的是可变数量的参数(类似于标准库bind函数),这种函数的参数都是值传递的,可以验证# include<iostream># include<thread>using namespace std;class C{public: C(const int&c):x(c) { cout <<...原创 2019-05-03 10:18:35 · 1516 阅读 · 1 评论 -
简单的makefile文件编写
习惯了windows下ide创建工程已经代码的编写,然后一键运行,很简单,因为很多事ide都帮我们做了,但是linux下不一样,需要手动编译,执行一条条的命令,一般工程都是由于很多文件组成的,比如c++有很多.h和.cpp文件,难道编译的话需要我们一个一个手动编译?比如这样:g++ main.cpp fun1.cpp fun2.cpp -o main如果有几百个几千个呢?在终端敲命令岂不是累...原创 2019-04-30 17:23:35 · 10401 阅读 · 2 评论 -
getline和cin.getline的区别
getline和cin.getline这两个函数很相似,先说getline吧, 1:getline有两个重载版本,第一个版本接受两个参数: 一个istream对象的引用(可以是istream&等); 第二个参数string对象的引用 顺便说一下,cin遇到空格,tab键就会结束输入(并且会忽略),按下回车后输入的字符才会发送到缓冲区:# include<iostrea原创 2017-02-04 16:12:30 · 4401 阅读 · 1 评论 -
课程设计
没错,还是课程设计,帮同学写的。。。。。# include<stdio.h># include<string.h># include<stdlib.h>//====================全局变量=============================//===================1=============================int Arr[5] = {-1原创 2016-12-22 23:14:19 · 456 阅读 · 0 评论 -
c语言课程设计2
/*====================================================================* 项目:第14组 校运动会项目管理* 程序:c语言课程设计.c* 最后修改时间:2016.11.15* 作原创 2016-12-13 10:08:17 · 850 阅读 · 2 评论 -
用键盘模拟文件输入
通常,在输入字符,判断何时结束时一般都是按#键结束(或者其他的一些按键) ,这样虽然大多数情况下不会有问题,但是如果判断结束的字符时我们要输入的呢?这不就输入不了吗?如果输入是来自文件·,则可以使用检测文件尾(EOF)来判断是否结束输入,不过c++还可以用键盘模拟文件尾,过程是这样的,检测到EOF后,cin将两位(eofbit和failbit)都设置为1。可以通过成员函数eof()看eofbit是否原创 2016-05-14 16:56:15 · 792 阅读 · 0 评论 -
回文
今天数据结构上机,内容是队列,栈的一些基本操作,输入字符串,并判断是否是回文,我以为回文就是字符串首位字母相等,擦,居然看错了了,回文是第i个字母和倒数第i个字母相等(比如abcba,abccba都是回文,),所以不得不重新编写下程序; 判断是否是回文。顺序栈比较简单,而链队列也只是稍微麻烦点了,这里用双链表比较合理,即节点有不仅有next指针,还有prior指针,依次从两边往中间遍历就好了# i原创 2016-05-18 18:30:01 · 382 阅读 · 0 评论 -
函数指针
看到这里,觉得有必要写一下,虽然复杂一点的函数,数组指针看起来有点麻烦,不过细心下来,也不是那么难,比如double(*p)(double a, double b); p = max;//函数名就是函数地址 double a = p(4, 5);//函数名是函数地址,指针p指向函数的地址,所以p应该和max有相同的 double b = (*p)(4, 5);//p是函数指针原创 2016-05-19 18:28:08 · 341 阅读 · 4 评论 -
学习方向
一路走来,磕磕碰碰,走到现在,历经了千辛万苦,可是路才刚刚开始走,未来还很长,我将会不断的思考和探索。 我想,如果是打算走进C++编程的同志们,请好好看完这篇文章,或许,对你的发展有所启发。但是,不要企图在这里找到你自己发展的规划和指定好的发展航向和行程。看了这篇文章,能够收到启发,受到鼓舞,也就是本文的一个成功的地方了。如果能够切实的给你指导发展方向,那更是荣幸备至。但是,每个人的兴趣都不一样,转载 2016-05-22 09:39:24 · 1065 阅读 · 0 评论 -
类型转换
c++中,如果两个类型有关联,比如int型变量和float型变量可以相互转换,举个例子: int i=3.14+1;//编译器会警告可能会丢失数据,但不会报错相加的两个类型不同,c++不会直接将两个不同类型的值相加,而是先根据类型转换规则将类型统一后再求值,这些是自动进行的,不用程序员操心,有时甚至不用程序员了解,被称作"隐式转换"; 其他类型的隐式转换: 1):数组转换为指针:原创 2016-09-10 22:45:49 · 343 阅读 · 0 评论 -
测试函数运行时间
如何知道函数运行需要多长时间呢?头文件ctime里面提供了一个函数: clock_t clock();//# define long clock_t 该函数返回的是从程序开始运行到调用clock函数时所打的点数, 即clock tick(时钟打点); 有一个常数CLK_TCK,是机器时钟每秒所走的时钟打点数,是这样定义 的,//#define CLK原创 2016-09-12 15:17:46 · 1221 阅读 · 0 评论 -
随机数
# include<iostream>//产生随机数,要用到rand()函数,srand()函数和time()函数//iostream头文件中有srand函数的定义。无需额外引入stdilb.h,//而使用time函数需要引入ctime头文件# include<ctime>using namespace std;int main(){ for (int i = 0; i < 4原创 2016-09-07 21:33:49 · 646 阅读 · 0 评论 -
插入从小到大的整型数组
老师给的一个题目,就是给定一整型数组,已经从小到大排列,然后插入一整数,要求插入的位置使得元素还是按照从小到大的顺序排列,一下是代码,不过有一点小问题,值得注意# include<iostream>using namespace std;# define MAXLEN 30int main(){ int arr[MAXLEN] = {0}; cout << "请按照从小到大的原创 2016-09-21 21:29:43 · 664 阅读 · 0 评论 -
”正多边形的逼近“求π的近似值
突然碰到这道题,如图 将圆半径设为1,正六边形边长正好等于半径即1 这样,由正六边形边长就可以求出正十二边形的,以此类推24,48… 由于圆的周长近似认为等于内接正多边形的周长(正多边形边数越大,越接近),所以就可以求出π了已下是代码:# include<stdio.h># include<math.h>int main(){ //=======================定义原创 2016-12-11 22:29:35 · 5019 阅读 · 0 评论 -
c语言课程设计1
课程设计原创 2016-12-13 18:19:42 · 913 阅读 · 0 评论