使用 CLion 进行 LeetCode 刷题 & 本地 Debug
在编辑器里面进行 LeetCode 刷题是一个很便捷的方式,相比网页端,随时写自测 Debug 然后再提交更加友好。本文整理了下使用 CLion 进行 LeetCode 刷题的插件安装、调试、提交的常用步骤。
0 系统环境
Ubuntu 16.04
CLion 2021.2.2
LeetCode Editor v7.0
C/C++ Single File Execution v1.3 (可选)
1 安装插件
所谓“工欲善其事必先利其器”,在进行刷题之前我们首先安装两个 CLion 插件。一个是 LeetCode Editor ,另一个是...
Python 常见问题总结
1 错误:No module named '_tkinter'
如果在使用类似 matplotlib 库时遇到如下错误:
import tkinter
File "/usr/local/lib/python3.6/tkinter/__init__.py", line 36, in <module>
import _tkinter #...
[C++11] C++11 中的回调
之前写 Java 和 OC 非常羡慕其中的回调机制,之前的博客也介绍了一个使用 fast delegate 回调的 C++ 机制(参见:[C++] 简单高效的 delegate 方法)。现在 C++11 已经普及了,也同样支持了回调,虽然比高阶的语言 Java 和 OC 之类还稍显繁琐,但是基本功能已经都有了,这里简单说明如下。
1、回调基本函数
在 C++11 中使用 std::function 定义回调函数和参数类型,使用 std::bind 绑定回调函数。示例如下:
C++
#include...
[Ubuntu] 编译&使用 curl 库进行简单网络请求
当使用C++做HTTP客户端时,目前通用的做法就是使用libcurl。其官方网站的地址是 http://curl.haxx.se/,该网站主要提供了Curl和libcurl。Curl是命令行工具,用于完成FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP的命令的请求及接收回馈。libcurl提供给开发者,用于使用C++跨平台的开发各种网络协议的请求及响应。里面的文档非常齐全,不过都是英文的。
0、系统环境:
Ubuntu 14.04
curl v7.46.0
1、编译 libcurl 库:
1)下载 curl 源码:
Shell
git clone https://github.com/bagder/curl.git
1
git clone https://github.com/bagder/curl.git或者使用我网盘里面的代码:
http://pan.baidu.com/s/1dDMNrKt
2)检查 curl 依赖项是否安装:
Shell
sudo apt-get...
[C++] 简单高效的 delegate 方法
使用 Objective-C 或者 Java 的都对其中的 delegate 方法印象很深,而在我们经常使用的 C++ 中虽然也有所谓的 Callback,但是似乎还挺麻烦的。有没有一个更好的实现方法呢?有的,国外的《Member Function Pointers and the Fastest Possible C++ Delegates》这篇文章就给了我们一个简单方便的实现库。
原理在作者的文章中已经讲得很详细了,我们这里简单讲一下使用方法:
C++
#include <iostream>#include "FastDelegate.h"using namespace fastdelegate;// If you want...