<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[零零IIV的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/llq108</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; llq108]]></copyright><item><title><![CDATA[谈谈平行志愿填报]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/118468457</link><guid>https://blog.youkuaiyun.com/llq108/article/details/118468457</guid><author>llq108</author><pubDate>Sun, 04 Jul 2021 22:03:58 +0800</pubDate><description><![CDATA[什么是平行志愿？
选城市还是学校还是专业？

]]></description><category></category></item><item><title><![CDATA[使用QGraphicsItem绘制微信消息文本框]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/117440911</link><guid>https://blog.youkuaiyun.com/llq108/article/details/117440911</guid><author>llq108</author><pubDate>Tue, 01 Jun 2021 13:02:08 +0800</pubDate><description><![CDATA[微信消息框如下：

使用QGraphicsItem绘制，怎么绘制呢？
先不考虑头像，那文本框就是由一个菱形矩形加一个小箭头组成的。所以很简单就能画出来了。
void PopoItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
    Q_UNUSED(widget);
    const double radius = 10.0;
    const double flag_rad]]></description><category></category></item><item><title><![CDATA[代码片段]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/113563169</link><guid>https://blog.youkuaiyun.com/llq108/article/details/113563169</guid><author>llq108</author><pubDate>Tue, 02 Feb 2021 16:14:56 +0800</pubDate><description><![CDATA[以下代码是从Stack Overflow上看到的，对于C++ virtual的特性挺有参考意义的，于是记录下来：
class A{
    public:
    void f(){
        std::cout &lt;&lt; "A" &lt;&lt; std::endl;
    }
};

class B : public A{
    public:
    virtual void f(){
        std::cout &lt;&lt; "B" &lt;&lt; std::endl]]></description><category></category></item><item><title><![CDATA[QSharedPointer的陷阱]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/113461992</link><guid>https://blog.youkuaiyun.com/llq108/article/details/113461992</guid><author>llq108</author><pubDate>Sun, 31 Jan 2021 11:41:39 +0800</pubDate><description><![CDATA[Qt的智能指针有几类，这里说的是QSharedPointer，即使用引用计数的智能指针。


这里说的QSharedPointer的陷阱，也可能是我的使用不当，不过还是想记录下来，让别人不要踩到同样的坑。


先来看我的使用代码：


static void UseSharedPtr(const QSharedPointer&lt;QWidget&gt;&amp; pW)
{
    const QSharedPointer&lt;QWidget&gt;&amp; pW2 = pW;
}

void M..]]></description><category></category></item><item><title><![CDATA[C++的深复制与浅复制]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/100829849</link><guid>https://blog.youkuaiyun.com/llq108/article/details/100829849</guid><author>llq108</author><pubDate>Sat, 14 Sep 2019 16:23:01 +0800</pubDate><description><![CDATA[上代码，定义类：
// helloworld.h
{
public:
    explicit HelloWorld();
    HelloWorld(const HelloWorld &amp;otherHW);
    void operator =(const HelloWorld &amp;hw);
    ~HelloWorld();

    int *getPtr() const;...]]></description><category></category></item><item><title><![CDATA[C++的指针和引用]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/100828376</link><guid>https://blog.youkuaiyun.com/llq108/article/details/100828376</guid><author>llq108</author><pubDate>Sat, 14 Sep 2019 15:44:29 +0800</pubDate><description><![CDATA[指针就是指向变量的地址，而引用是变量的别名，通过指针或引用都可以修改变量的值，但两者的使用上会有一些差异，比如：

引用在定义的时候必须初始化，且只能指向一个变量，后续不能指向其它变量。而指针在定义的时候可以不初始化，且后续可以修改指向为其它地址；
引用的大小是所指向变量的大小，而指针的大小则是固定的，32位系统为4字节，64位系统位8字节；
引用比指针更安全，因为引用在定义的时候必须初始化，所以...]]></description><category></category></item><item><title><![CDATA[由C++的多态想到 C++与Golang的一点区别]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/100806885</link><guid>https://blog.youkuaiyun.com/llq108/article/details/100806885</guid><author>llq108</author><pubDate>Sat, 14 Sep 2019 00:12:27 +0800</pubDate><description><![CDATA[多态

有种说法，Golang没有多态/继承，它叫组合，比如：
type Base struct {
}

func (b *Base) sayHello() {
	b.Hello()
}

func (b *Base) Hello() {
	fmt.Println("Base Hello")
}

type Deverived struct {
	Base
}

func (d *Deveri...]]></description><category></category></item><item><title><![CDATA[C++的new操作符]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/100800420</link><guid>https://blog.youkuaiyun.com/llq108/article/details/100800420</guid><author>llq108</author><pubDate>Fri, 13 Sep 2019 14:11:30 +0800</pubDate><description><![CDATA[new和delete是C++的操作符，而operator new和operator delete是C++库函数。
operator new和operator delete和C语言的malloc和free比较类似，都是申请和释放内存。
operator new和malloc是直接返回申请内存的指针，并且不对内存进行初始化，但new可以对申请的内存进行初始化，如：
string *str = new ...]]></description><category></category></item><item><title><![CDATA[由C++的const修饰引开来]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/100785491</link><guid>https://blog.youkuaiyun.com/llq108/article/details/100785491</guid><author>llq108</author><pubDate>Fri, 13 Sep 2019 02:34:58 +0800</pubDate><description><![CDATA[假设定义了一个类HelloWorld
// helloworld.h
#ifndef HELLOWORLD_H
#define HELLOWORLD_H
class HelloWorld
{
public:
    HelloWorld();

    int age() const;
    void setAge(int age);

private:
    int m_age;
};
#e...]]></description><category></category></item><item><title><![CDATA[mac下使用命令拷贝目录下文件路径]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/99894623</link><guid>https://blog.youkuaiyun.com/llq108/article/details/99894623</guid><author>llq108</author><pubDate>Tue, 20 Aug 2019 23:06:15 +0800</pubDate><description><![CDATA[// 创建脚本
vim cpwd.sh

#!/bin/bash

dir=$(pwd)
path=${dir}/$1

echo ${path} | pbcopy
echo ${path}

// 赋予执行权限
chmod +x cpwd.sh
// 拷贝脚本到系统目录
cp cpwd.sh /usr/local/bin/ 

// 使用
$ cpwd.sh input.mp4 
/Users/...]]></description><category></category></item><item><title><![CDATA[中级网络工程师]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/90578273</link><guid>https://blog.youkuaiyun.com/llq108/article/details/90578273</guid><author>llq108</author><pubDate>Sun, 26 May 2019 17:34:40 +0800</pubDate><description><![CDATA[练习一
列举几个应用层协议：
ftp http smtp telnet dhcp dns pop3
网络层：
路由器 ARP RARP IP ICMP IGMP
数据链路层:
网桥 交换机 网卡 PPTP SLIP PPP
物理层：
中继器 集线器
POP3：110端口，邮件收取
SMTP：25端口，邮件发送
FTP：20数据端口/21控制端口，文件传输协议
HTTP：80端口，超文本传输协议，网...]]></description><category></category></item><item><title><![CDATA[如何准备计算机中级网络工程师考试？]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/90578200</link><guid>https://blog.youkuaiyun.com/llq108/article/details/90578200</guid><author>llq108</author><pubDate>Sun, 26 May 2019 17:28:11 +0800</pubDate><description><![CDATA[网络工程师考试主要是考TCP/IP内容，然后还有一些软件开发，Linux/Windows操作系统配置的问题，当然很重要的应用考试主要是考路由器/交换机的配置命令，这些最主要的就是亲手实践下，我准备考试的时候还不知道有路由器模拟器这种东西，真是…
学习TCP/IP，可以看看《TCP/IP详解 卷一》，看卷一的时候可以结合B站计算机网络视频一起看，加深理解。
然后就是下载往年考试试题，进行做题。做完了...]]></description><category></category></item><item><title><![CDATA[桌面软件自动化测试小记]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/84191843</link><guid>https://blog.youkuaiyun.com/llq108/article/details/84191843</guid><author>llq108</author><pubDate>Sat, 17 Nov 2018 19:31:04 +0800</pubDate><description><![CDATA[什么是软件自动化测试
如何学习软件自动化及几个例子

]]></description><category></category></item><item><title><![CDATA[Mac 常用的免费解压工具(zip,rar,7z)]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/82313181</link><guid>https://blog.youkuaiyun.com/llq108/article/details/82313181</guid><author>llq108</author><pubDate>Sun, 02 Sep 2018 14:34:03 +0800</pubDate><description><![CDATA[
zip/unzip 
Mac自带解压缩工具，可解压缩zip压缩包。 
zip压缩： 
在文件夹下创建如下文件


 &amp;gt; ls *.txt
 1.txt  2.txt   3.txt   4.txt

执行命令

&amp;gt; zip -r txt.zip *.txt

生成压缩包



 &amp;gt; ls *.zip
 txt.zip

查看压缩包内的文件，有两种方法，用zip/和unzip都可...]]></description><category></category></item><item><title><![CDATA[常见加密方式和Python实现]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/81024870</link><guid>https://blog.youkuaiyun.com/llq108/article/details/81024870</guid><author>llq108</author><pubDate>Fri, 13 Jul 2018 01:09:26 +0800</pubDate><description><![CDATA[常见加密方式和Python实现]]></description><category></category></item><item><title><![CDATA[html与go的一点记录]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/79370473</link><guid>https://blog.youkuaiyun.com/llq108/article/details/79370473</guid><author>llq108</author><pubDate>Mon, 26 Feb 2018 07:52:22 +0800</pubDate><description><![CDATA[html页面向服务器post数据的两种方式

使用表单



&amp;lt;form method=&quot;post&quot; action=&quot;http://localhost:9090/LoginCheck&quot;&amp;gt; 
&amp;lt;input type=&quot;text&quot; required=&quot;required&quot; placeholder=&quot;用户名&quot; name=&quot;name&quot;&amp;gt;&amp]]></description><category></category></item><item><title><![CDATA[Xcode添加头文件路径和链接库文件]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/73551190</link><guid>https://blog.youkuaiyun.com/llq108/article/details/73551190</guid><author>llq108</author><pubDate>Wed, 21 Jun 2017 17:35:20 +0800</pubDate><description><![CDATA[Xcode添加头文件路径和链接库文件的方法]]></description><category></category></item><item><title><![CDATA[Mac调试Qt For iOS程序，真机与模拟器]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/72956381</link><guid>https://blog.youkuaiyun.com/llq108/article/details/72956381</guid><author>llq108</author><pubDate>Fri, 09 Jun 2017 12:26:38 +0800</pubDate><description><![CDATA[Qt For iOS 配置]]></description><category></category></item><item><title><![CDATA[QTcpSocket的一次奇异之旅]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/54958973</link><guid>https://blog.youkuaiyun.com/llq108/article/details/54958973</guid><author>llq108</author><pubDate>Thu, 09 Feb 2017 22:22:40 +0800</pubDate><description><![CDATA[QTcpSocket的一次神奇之旅]]></description><category></category></item><item><title><![CDATA[Qt使用opencv调用摄像头录制视频并保存文件]]></title><link>https://blog.youkuaiyun.com/llq108/article/details/54943785</link><guid>https://blog.youkuaiyun.com/llq108/article/details/54943785</guid><author>llq108</author><pubDate>Thu, 09 Feb 2017 09:35:19 +0800</pubDate><description><![CDATA[Qt使用opencv调用摄像头录制视频并保存文件]]></description><category></category></item></channel></rss>