Category: 编程基础

使用 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...