C++之什么时候应该使用typename或class
写在前面
对于C++模版元编程, 使用关键字typename还是class显然是不重要的, 除了在模版模版参数中使用类类型一定要用class声明类外, 例如下面这个例子, 为容器给出泛型函数, 虽然这样事实上只针对序列式容器:
template <typename T, template <typename> class Container>
ostream &operator<<(ostream &os, Container<T> v) {
for (auto i : v) os << i << " ";
return os << endl;
}
在模版中, 一...
通过公网ip访问云服务器mysql的方法
方法
环境:
Ubuntu20.04(x86_64)
MySQL8.0.31
开端口
addtcp 3306
reufw
并且在阿里云的管理界面开3306端口.
改配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
其中bind-address改为:(要不然只能在本地访问)
bind-address = 0.0.0.0
添加数据库配置
# 进入数据库
# mysql -uroot -p
# 输入
CREATE USER 'root'@'%' IDENTIFIED BY '<数据库密码>';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'...
Macos下asciiquarium出现.cursesboot.c: loadable library and perl binaries are mismatched (got handshake key 0xfc00080, needed 0xc700080)的问题解决
问题
m1Mac brew
一个终端养鱼程序(Perl):ASCIIQuarium, https://github.com/cmatsuoka/asciiquarium;
在使用brew安装之后报错了:
./CursesBoot.c: loadable library and perl binaries are mismatched (got handshake key 0xfc00080, needed 0xc700080)
然后网上找一圈也没有解决方案, 后来发现重新从源构建就好了:
brew reinstall asciiquarium --build-from-source
完美:
寻找缺失数字,出现次数不同数字的题目总结
写在前面
近期看面经, 发现有一类题常出现, 那就是寻找缺失数字, 基于这道题的变式题目也很多, 下面来总结一下.
下面总结的是缺失数字以及出现次数不同于其他数字的两大类题目.
主要用到的知识点:
哈希集合: 需要占用空间, 可以考虑原地哈希, 但是不好想.
排序+二分: 排序操作时间复杂度高.
位运算: 这里主要指异或运算.
数学方法: 找关系联立方程组, 通过求和等方式完成.
特殊解法:(只能针对某道题)
缺失数字类
关于缺失数字, 有下面这几类题型:
已排序, 找0~n-1中缺失的数字.剑指 Offer 53 - II. 0~n-1中缺失的数字 - 力扣(LeetCode).
已排序, 找缺失的第$k$个数字.1539. 第 k 个...
C++unordered_map插入元素的小坑与map添加更新元素的性能比较
坑
来看这样一个例子:
#include <iostream>
#include <unordered_map>
using namespace std;
void t1() {
unordered_map<int, int> m1{};
for (auto &i : {1, 2, 3, 1}) m1[i]++;
cout << "m1[4]=" << m1[4] << endl;
cout << "m1.count(4)=" << m1.count(4) << endl;
for (auto &[k, v] : m1...
Windows下latex报错error font simsun not found的解决方案
问题与解决
安装字体simsun之后, 在$\LaTeX$文中写:
\setCJKmainfont{simsun}
显示没法找到字体, 如果安装之后还是找不到, 大概率是字体名称不对的问题, 通过
fc-list :lang=zh-cn
查找字体, 然后看看字体名称是什么:
SimSun
这就对了.(这里面的输出可能会有乱码, 不重要, 找字体英文名称即可)
同理还有:
SimHei
当然, 前提是win+R运行框输入fonts跳转到的文件夹中有要导入的字体, 如果没有需要安装, 安装的话需要为所有用户安装, 否则还是找不到.
备选方案:(终端cmd或powershell管理员模式下运行)
fc-cache -rv
刷新字体缓存.
Nvim在ubuntu下报错executable 'ctags' can't be found. gute ntags will be disabled. you can re Enable it by setting g:gutentags_enabled back to 1.的解决方法
问题
最近在Ubuntu云服务器环境中部署了一下nvim, 用的大佬的配置1, 但是在Mac上没问题(指的是执行:checkhealth), 却在Ubuntu上有问题了, 具体信息为打开.yaml文件之后报错(其他文件没有此类问题):
Executable 'ctags' can't be found. Gutentags will be disabled. You can re-enable it by setting g:gutentags_enabled back to 1.
一开始我天真的以为加上let g:gutentags_enabled=1这句就行了, 没想到根本没有用, 翻看google发现, 原来解决方法竟然如此简单…
参考2,3.
解决
一开始我用了2...
谈谈如何高效使用搜索引擎找到自己想要的内容
写在前面
最近有朋友问我如何快速找到一些编程问题的解决方案, 当然也包括搜索一些网络资源(如书籍等), 感觉自己用Google也有一段时间了, 可以好好总结一下然后回答这个问题了.
搜索引擎的话我现在肯定是只用Google的, 当然一些情况下我也会用bing(毕竟广告还是要少一些), 百度的话估计只用来找一些文库资源了(下载PPT模板), 除此之外好像没什么能用到百度的地方..
关于一些专业知识, 除了看课本, Wikipedia也是不错的选择, 虽然中文页面相对匮乏, 但是其内容的高质量和准确性以及精美的插图还是让人赞不绝口.
编程方面的问题, 主要还是通过Stack Overflow来查, 虽然有时候遇到的问题都是有10多年历史的老问题, 但是也不乏很多热心的开发者给出自己...
共计 462 篇文章,58 页。
您是Zorch的第 个小伙伴
Hits