自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 ODB 5 Containers

在持久化对象种,可以有像c++标准库中类似的容器作为成员,这些容器将被创建为另外一张表,并且表中id字段会作为外键引用该持久类的id。

2024-10-28 17:01:12 60

原创 ODB 4 Querying the Database

ODB对数据库的查询分为两种,一个种是高层次的面向对象的查询,一种是低层次的与数据库系统相关的本地查询。

2024-10-28 16:20:07 89

原创 ODB 3 Working with Persistent Objects

objet type的实例被称为object,value type的实例被称为value,object里包含了很多value,并且object在数据库中是一个整体,通常都有一个id。某些情况下,需要直接执行SQL语句,使用database::execute()来执行,与connection::execute()不同,,用于让数据库进行一些计算的,如求最大值最小值平均值等,这些计算可以不让应用程序进行,但Views并不存储在数据库中,并不是持久实体。

2024-10-28 15:00:48 815

原创 ODB 2.ODB mysql hello example

ODB的使用依赖于1.ODB编译器2.libodb(ODB 公共运行时库)3.libodb- ODB运行时特定数据库,本例中以MySQL为例2与3已在上节中编译完成这三个工具的使用方式:ODB编译器 ----> 编译xxx.hxx ----> 产生相关文件,包括c++代码 ----> c++编译器将这些代码文件编译进去并链接2与3提到的库 ----> 生成可执行文件。

2024-10-25 09:43:02 547

原创 ODB 1.Windows上ODB mysql环境搭建

。。ODB运行环境组成:(1)ODB compiler: ODB编译器(2)libodb:ODB运行时公共库(3)libodb-:ODB运行时特定数据库,如果是mysql即为libodb-mysql以上在官网上下载:https://www.codesynthesis.com/products/odb/download.xhtml对于(1)已经有编译好的版本,对于(2)和(3)需要自己编译。

2024-10-21 14:23:58 284

原创 Mysql C API的使用

2024-10-18 14:57:22 89

原创 Qt 零散问题1

QWidgetAciton设置一个QLineEdit为当前Widget时,点击工具按钮,弹出菜单,菜单中将会有该QLineEdit,但该QLineEdit无法调用中文输入(可以复制粘贴中文输入,但无法使用拼英打字)

2024-10-17 14:08:53 200

原创 c++ 零散问题记录(1)

原因:dynamic_cast借助虚表来转换,因此父类中必须要有虚函数,才能完成转换,如果父类中没有虚函数,就会报该错。1.编译报错 dynamic_cast:“XXX”不是多态类型。解决:在父类中添加虚函数。

2024-10-12 15:46:16 131

原创 12.1.2 - 12.1.4直接管理内存(new和delete笔记以及shared_ptr)

没有任何数据成员也没有虚函数的类,由于哑类不包含任何数据成员,它的对象在内存中不需要占用空间,因此对象的尺寸为0。get函数会将所管理的指针交给其他代码,该函数被设计的原因是,用于向一些无法使用智能指针的代码传递普通指针。因此使用一个内置指针来访问一个std::shared_ptr中所管理的内存是危险的,因为不知道该std::shared_ptr什么时候会释放掉这块内存。:shared_ptr在构造时可以传递一个函数作为删除器,该shared_ptr在离开作用域析构时,调用该删除器代替delete操作。

2024-10-09 23:15:43 134

原创 使用shared_ptr编写StrBlob类

【代码】使用shared_ptr编写StrBlob类。

2024-04-10 22:30:59 177 1

原创 12.1.5 unique_ptr

unique_ptr会独占所管理的指针,一般不能被拷贝或赋值。release会切断unique_ptr与指针的联系,reset会让unique_ptr执行释放操作。

2024-04-08 22:54:10 366

原创 std::shared_ptr与异常

/ 连接某个地址 并返回一个连接对象// 断开链接 释放连接资源(如套接字)// 使用con做一些事 ...if (...) {// 抛出异常以上代码中,如果抛出异常,即使con是局部对象,函数异常退出也会被释放掉,但其并没有释放连接的资源,因为没有调用disconnect函数,此时同样会发生资源泄漏。// 定义了一个lambda作为删除器替代delete操作,参数类型要与p中指向的内存的类型一致});// 使用p做一些事 ...if (...) {// 抛出异常。

2024-04-07 20:18:22 241

原创 c++ shared_pt的基本使用方法

【代码】c++ shared_ptr 1。

2024-03-20 20:25:03 127 1

原创 c++ 关联容器3 无序容器

注意一个桶可以存放多个元素,因此不同的两个元素计算出相同的哈希值,会导致这两个元素存放在同一个桶中,因此查找一个元素时,计算出哈希值后,可能需要在桶中逐一比较每个元素和这个元素是否相等,从而查找到该元素。c++11 中的无序容器类型默认只支持内置类型,包括std::string,指针,以及智能指针,并且有序关联容器支持的函数,无序容器基本都支持,也就是insert、at等函数同样可以使用。元素存放在多个桶中,每个桶都有一个索引,每个元素通过哈希函数计算出存放该元素的桶的索引。

2024-03-18 23:52:18 407

原创 c++关联容器笔记2 有序关联容器的例子

c++Primer 关联容器单词转换例子。

2024-03-18 19:27:10 415

原创 c++关联容器笔记1 有序关联容器

由此可见可以自定义排序方法,有序的map和set中,使用迭代器是升序遍历的,也可自定义比较函数来达到其他的排序方法。有序容器对关键字key的类型要求能够比较,一般默认能用

2024-03-17 15:28:42 476 1

原创 mysql connector/c++库i JDBC版本各个API的使用

ResultSet.next()方法是判断这个结果集中下一行是否有内容,如果有内容,返回true,逐行判断,ResultSet.get×××(参数)方法是用来获取这一行的某一个字段,这里的‘参数’,可以是字段的名字也可以相对来说字段名的位置(从1开始)这里使用最后一个JDBC的版本,该版本按照Java版本JDBC进行编写,实现了80%Java版本JDBC的接口,使用该版本是因为用Java JDBC的人多,容易解决搜到疑难杂症的解决方法。环境:已安装mysql server在本机。

2024-03-01 10:49:57 542

原创 Mysql Connector/c++库的下载和使用(Windows)

环境:windows10, visual studio 2019,已安装mysql server 版本为8.0.36,项目配置visual studio解决方案时,使用的Release x64。

2024-03-01 09:43:11 2877

原创 左值、右值、std::move

左值和右值使用得当可以减少开销和提升性能,在代码的层面来说,提升性能的点在于浅拷贝和深拷贝。可以看到深拷贝会重新申请内存空间,b把拷贝对象a中申请的内存的数据逐个拷贝至新对象b中,这种拷贝方法开销较大。而浅拷贝仅仅只是把a的m_p指针指向的内存的使用权”转移“给新的对象c,并未申请新的内存空间实际拷贝,这种方法开销较少,但要保证a无法再操作该内存了,否则会出现问题。

2024-02-19 21:10:31 375 1

原创 参数绑定(std::bind)

且流对象(istream/ostream/…)都无法被拷贝和复制,只能以引用的方式作为参数传递。

2024-01-11 21:19:48 437

原创 1.C++基本语法

1.C++ 基本语法

2024-01-11 20:23:01 791

原创 1.Linux基础知识、常用指令总结

Linux基础知识、常用指令总结1 Linux文件系统​ 常用Linux目录:/bin:可执行程序放置路径(二进制文件) (若想把自己写的程序作为指令,放到echo $PATH中任意一个目录即可)/sbin:存放特权指令/boot存放系统引导文件/dev 存放设备节点文件/etc 存放各种应用程序的配置文件/home 家目录/lib 存放一些库文件/usr/lib 也是存放库文件/proc 可查看当前系统的运行信息 是一种特殊的文件(查看的是内存中的信息,

2021-06-04 17:11:24 75

原创 Linux c编程之进程的基本操作总结

Linux c编程之进程的基本操作进程是程序执行和资源管理的最小单元,可以说运行的程序就是进程,了解并掌握进程的基本操作是十分重要的。1.Linux进程的基本操作每个进程都是有“生老病死”的过程的,如同的进程及几种状态(就绪状态、运行状态、阻塞状态、僵尸状态、停止状态如下图):因此掌握进程的基本操作是十分重要的进程的主要操作:(1)创建进程使用fork函数创建一个子进程,fork的函数原型:pid_t fork(void)fork函数运行一次返回两次,在父进程中返回子

2021-04-21 08:52:22 316

原创 c语言相关总结之指针总结

c语言相关总结之指针由于嵌入式设备的硬件资源一般都比较紧缺,内存小,处理器频率低等特点,c语言作为运行效率仅次于汇编的常用编程语言,自然作为嵌入式设备的首选编程语言,c语言的基础中重点和难点大部分集中在指针相关,本篇文章将对c指针进行一个小总结,有不足之处还希望大家指出。1.指针的正确理解要对指针有个正确的理解,首先要理解计算机的内存地址,计算机的内存是以字节为一个单位,被分为了若干个单位,而每个单位(字节)都有自己的编号,编号以十六进制数表示,一个字节一个字节增加如下图:而这些编号就是地址,即0

2021-04-19 08:59:48 445

Q入门使用UI设计器设计和纯代码设计

Q入门使用UI设计器设计和纯代码设计

2023-06-28

c++基本语法总结.zip

在学习c++语法时做的笔记

2021-09-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除