- 博客(85)
- 收藏
- 关注
原创 二叉树问题记录
总结: 代码的位置很关键,如果在调试中发现总是重复遍历,那么需要考虑是否是位置不对。如果出栈那么当前元素的左子树是访问过的,不能再使用上面的循环,思路:得到一个结点首先应达到以该节点为根的二叉树的底部,就是说出栈的元素是不可以再次访问左子树的。也就是以下程序,确保达到左边的最底部。#二叉树的中序遍历非递归。
2024-03-31 20:50:38 161
原创 makefile 学习
SRC = $(wildcard *.cpp *.c) # 在工作目录下寻找所有c cpp 文件。如果文件列表中没有匹配的字符串,就会把整个文件列表的值赋值给变量。原型$(patsubst 原模式, 目标模式, 文件列表)// 如果当前目录下有 main.cpp test.cpp。patsubst 函数。
2024-03-15 15:27:15 245
原创 未将对象引用设置到对象实例
qt 项目打开的vs 2010 的项目 配置完成之后可以编译执行,但是新建qt 类提示。环境 vs 2017 qt 5.13.0 qt-vs-addin 2.10。问题 插件的版本太高了使用低版本的,到qt 官网下载。下载qt-vsaddin2.2 安装之后可以。未将对象引用设置到对象实例。
2023-11-08 18:24:23 294
原创 vscode 通过ssh 连接虚拟机vmware(ubuntu)
给ens33 分配一个ip,如果ip addr 显示了ens33 ip(如果没有输入ifconfig ens33 up 开启ens33端口), 查询ip与vs code ssh 配置中的ip 是否相同,如果改变需要更改为当前的ens33的ip地址。输入ip addr 命令之后ens33的ip 没有分配,这是应为ip设置未dhcp 动态分配的方式,需要输入 sudo dhclient。第一次连接需要选择系统,选择linux,初始化连接会有一段时间,连接之后需要输入ubuntu 登录的用户的密码。
2023-10-26 09:59:13 1098
原创 错误积累(程序遇到的错误)
pack(0) 错误不可以写0 编译可能会提示错误但是大多数不会提示 如果不提示的化后面的问题就很难找得到。#prama pack() 恢复原来的对其方式。
2023-05-11 16:29:03 77
原创 c++ primer 笔记(第九章 顺序容器)
当我们用一个对象来初始化容器时,或将一个对象插入到容器中时,实际上放入到容器中的是对象值的一个拷贝,而不是对象本身,就像我们将一个对象传递给非引用参数一样,容器中的元素与提供值的对象之间没有任何关联,随后对容器中元素的任何改变都不会影响到原始对象,反之亦然。...
2022-03-03 11:28:32 77
原创 使用auto关键字遍历多维数组
需要明确一点c++ 中没有真正意义上的多维数组,多维数组本质上是数组的数组int arr[10][10];// 定义了一个名为arr的数组,该数组含有10个元素,每个数组元素是大小为10 且类型为int的数组。使用auto 遍历二维数组int arr[10][10];size_t cnt = 0;/* 使用引用 row 是 int [10] 类型的引用 如果没使用引用那么 row 的类型为int* */for(auto &row :arr)
2022-02-23 10:21:31 1845
原创 c++primer 学习(第七章 类)
7.1定义抽象数据类型成员函数对类成员变量的访问 是通过 隐式地使用this指向的成员的方式this->membervar;对于我们来说,this形参时隐士定义的。实际上,任何自定义名为this的参数或变量的行为都是非法的。因为this的目的总是指向“这个”对象,所以this是一个常量指针,不允许改变this中保存的地址。std::string isbn() const { return this->bookNo;}这里,const的作用是修改隐式this指针的类型
2022-02-23 09:04:42 281
原创 c++ primer(第六章)
6.1.1 局部对象名字的作用域是程序文本的一部分,名字在其中可见对象的声明周期是程序执行过程中该对象存在的一段时间形参和函数体内部定义的变量统称为局部变量,仅在函数的作用域内可见,同时局部变量还会隐藏在外层作用域中同名变量。 在所有函数体之外定义的对象存在于程序的整个执行过程中,此类对象在程序启动时被创建,直到程序结束才会销毁。局部变量的生命周期依赖于定义的方式。6.1.2 函数声明函数的三要素(返回类型、函数名、形参类型)描述了函数的接口,说明了调用...
2022-02-17 20:43:04 327
原创 二维数组 多维数组的 笔记
int arr[4];int *p = arr;int (*p1) [4] = &arr; 对数组名进行取地址首先数组名是一个常量 无法进行++ 操作arr 代表的是数组中第一个元素的首地址(如果是多重数组只需要关注第一[] 其他的不需要考虑)arr+ 1 = ++p;duo多维数组:定义一个二维数组 arr[3][4]int (*p)[4];arr = arr[0]p= &arr;数组名是第一维数组的第一个元素的首地址...
2021-08-26 09:37:04 91
原创 MySql 语句(MySQL必知必会)
help show 查看所有show的语句show database;use databasename;show tables;四:数据库检索数据① select column_id from tablename;② select id_1, id_2, from tablename;③select * from tablename; //利用通配符* 搜索所有④select DISTINCT column_Id from tablename; //利用DIST...
2021-08-20 10:51:46 64
原创 XML的规则
最近在学习Qt中的XML,看了一会竟然发现自己连规则都不知道,在此做一个记录,防止遗忘名字中不能包含空格名字不能以数字或标点符号开头左尖括号<后不可以有空格起始和结束标签的大小写必须一致(严格区分大小写)XML文件中出现的第一个元素是根元素XML文件中只能有一个根元素根元素必须有完整的起始和结束标签所有的子元素必须嵌套在一个根元素中子元素如果内容为空可以单标签XML标签必须成对出现...
2021-08-17 15:05:26 228
原创 MySQL的积累
MySQL的操作是在Qt环境下进行db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); //db.setPort(3306); db.setUserName("root"); db.setPassword("123456"); //db.setDatabaseName("databaseName");db.open(); //只是对应的打开了与MySQL链接的方式,并没有选择一个目标数据库...
2021-08-03 14:12:49 118
原创 有关端口号的一些操作
① netstat -ano 表示列出所有端口号在本地地址中最后的几位数字表示着端口号,最后一列表示的是使用该端口号的程序的id② 查看对应的端口号是否被占用netstat -aon|findstr "3306" 双引号中表示的是需要查询的端口号...
2021-07-26 09:01:18 112
原创 Linux安装VMware Tools 和Qt的环境
先把vmware tools的压缩包复制到另一个文件夹之中(因为在此文件中无法完成提取文件,也无法提取到其他文件之中)以下的命令都是在root密令之下执行的(如果在装乌班图系统只是设置了一个开机的密码,进入命令行之后(sudo passwd root)设置密码 1 ./vmware-install.pl 2 sudo apt-get install g++ 3 sudo apt-get install gcc 4 sudo apt-get install l...
2021-07-26 08:40:50 150
原创 QTableWidget
QStringList headList;headList<<"column1"<<"column2";tablewidget->setColumnCount(headlist.count());tablewidget->setHorizontalHeaderLabels(headList);tableWidget->verticalHeader()->setVisible(false);tablewidget->setEditTrigger.
2021-07-19 17:35:46 62
原创 windows下利用命令行来编译Qt程序记录
准备工作:1.准备文件:①首先新建一个工程的文件夹,这个文件夹的名字也就是最后生成的可执行文件的名称(gotocell)。②利用qt的designer设计一个.ui的文件(gotocelldialog.ui)并且保存在gotocell文件夹下另存为gotocelldialog.ui,然后用纯文本编辑器在同一目录下创建一个main.cpp文件。2.准备qmake 环境和nmake环境以及g++环境,uic注:qmake主要是生成.pro文件,nmake主要是编译为可执行文件需要g++作为编译器
2021-05-11 10:43:46 1277 2
原创 2021-05-08 QObject::connect: No such slot QSpinBox::(setValue(int))
#include "widget.h"#include <QApplication>#include<QSpinBox>#include<QSlider>#include<QHBoxLayout>int main(int argc, char *argv[]){ QApplication a(argc, argv); QWidget *window = new QWidget; window->s.
2021-05-08 14:26:54 361 1
原创 Visual Studio编写MFC 程序遇到的错误及解决方法
在类视图窗口中点击【资源】出现未能完成操作,拒绝访问出现这个问题主要是将Resource.h在窗口中打开了,解决方法很简单,直接关闭Resource.h文件的窗口
2021-04-22 09:42:11 661
原创 Padding 和 Margin的区别
Margin 是指从控件本身边框到另一个控件边框之间的距离,就是控件外距离。(外边距)Padding 是指控件本身边框到本身内部控件边框的一个距离,就是控件内距离。(内边距)
2021-01-07 09:14:38 263
转载 C语言学习1
运算符运算符分为:单目运算符,双目运算符,三目运算符三目运算符 “?:”单目运算符是指运算所需变量为一个的运算符,即在运算当中只有一个操作数,又叫一元运算符,其中有逻辑非运算符:!、按位取反运算符:~、自增自减运算符:++, --等。逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++, --】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*和&】、长度运算符【sizeof】双目运算符运算所需变量为两个的运算符叫做双目运算符,或者要求
2020-12-11 16:26:22 258
原创 文件操作错误1
对自己不知情的程序操作的时候需要注意,比如说出现下列问题:请按任意键继续. . .不是应该在输出的后面显示吗?看程序:FILE *fp; fp = fopen(".//my_text", "w"); if (fp == NULL) { printf("file open failed"); return 0; } char buffer[] = "this is fprintf function test file1\r"; for (int i = 0; i < 2;
2020-12-10 15:54:02 92
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人