自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 [c/c++] d_type判断文件是否为目录无效

背景使用power主机不能使用dirent结构体中的d_type判断文件是否为目录原因分析在readdir的man手册( https://linux.die.net/man/3/readdir)中,提示d_type不被所有的文件系统支持。其目前仅被Btrfs,ext2,ext3,ext4文件系统支持。x86主机ext4文件系统d_type可用于判断文件类型power主机xfs文件系统d_type无法判断文件类型解决方法#include <sys/stat.h>#in

2020-11-03 17:57:47 22

原创 [c/c++] 通过不定参数实现调试输出

不定参数的两种实现方式通过宏__VA_ARGS__实现通过va_list在函数中实现通过宏__VA_ARGS__实现代码#define DebugPrint(format, ...) fprintf(stdout, "[%s][%d] " format, __FILE__, __LIN__, ##__VA_ARGS__)通过va_list在函数中实现代码int DebugPrint(const char *format, ...){ va_list args; va_sta

2020-10-14 18:03:16 18

原创 [c/c++] 后缀_t的那些事

含义后缀_t意味着type/typedef(类型),是一种命名规范,类似于全局遍历加前缀g_。那些事不推荐在自己的代码中使用自定义的类型名如果加上后缀_t,则有可能导致与引入库中的类型命名冲突导致错误,因此不建议在自定义的类型名加上后缀_t自定义类型推荐的命名规范自定义类型名加上相关的公司或项目前缀,如qq_int也有人用_type作为后缀,如int_type结合前两项,可以使用qq_int_type主要被定义在头文件stdint.h中在stdint.h文件中,可以看的一些常

2020-10-09 16:23:09 47

原创 [leetcode] 503 下一个更大元素

题目链接503. 下一个更大元素 II解法1 - 单调栈class Solution {public: vector<int> nextGreaterElements(vector<int>& nums) { int n = nums.size(); vector<int> ret(n); stack<int> s; for (int i = 2*n-1; i >= 0; --

2020-09-07 16:57:11 17

原创 [c++] push_back和emplace_back的区别

介绍emplace操作是C++11新特性,新引入的三个操作emplace_front、emplace 和 emplace_back,分别对应push_front、insert 和push_back,允许我们将元素放在容器头部、一个指定的位置和容器尾部[1]。本文以emplace_back和push_back为例讲解两者的区别。区别调用push_back时,参数为元素类型的对象,这个对象被拷贝到容器中。调用emplace_back时,参数与该元素类型构造函数的参数相同,会在容器管理的内存空间内直接

2020-09-07 14:07:40 68

原创 [Linux][shell] 通过ssh同时对多个主机执行相同的命令

编写ssh_217_218_219.sh如下:SSH_217="ssh ocsapp@172.18.232.217"SSH_218="ssh acct@172.18.232.218"SSH_219="ssh acct@172.18.232.219"COMMAND=$1$SSH_217 $COMMAND$SSH_218 "$COMMAND"$SSH_219 "$COMMAND"调用该脚本:$sh ssh_217_218_219.sh "cd ~; pwd"/ocsapp/acct

2020-08-13 14:08:12 97

原创 [Linux][shell] ssh+sed替换远程主机文本内容

使用sed替换本地文本内容PRE_SPEED=`grep "^speed=" foo.cfg`CUR_SPEED=300sed -i 's#'$PRE_SPEED'#speed='$CUR_SPEED'#' foo.cfg其中,若sed替换需使用变量,则要将变量用单引号括起来使用ssh+sed替换远程主机文本内容PRE_SPEED=`ssh foo@172.18.232.219 "cat foo.cfg | grep ^speed="`CUR_SPEED=300ssh foo@172.1

2020-07-29 14:26:41 91

原创 [c/c++] i++与++i的区别

主要区别值的区别左值右值区别效率区别实现代码下面以郭炜老师c++课程中的一段代码为例类定义class cDemo{private: int n;public: cDemo(int i) : n(i) {} cDemo& operator++(); // 前置++ cDemo operator++(int); // 后置++};前置++cDemo&...

2020-03-31 11:18:32 46

原创 [c/c++][Linux] 时间戳转换为tm,time_t,timeval

refhttps://blog.csdn.net/GreenTeemo/article/details/102586265code#include <stdio.h>#include <time.h>#include <sys/time.h>int main(){ char time[100] = "2020/03/25 11:09:42...

2020-03-25 18:27:32 633

原创 [c++] 常引用const &作为函数参数的作用范围

c++中很多函数的参数都使用常引用,主要原因有两点一个函数的参数为引用,则传参时不会调用拷贝构造函数(若参数为某个类),传入的参数还是实参本身,这样的开销小;若传入的参数为引用,则函数内部的修改也会修改该实参本身,如果希望函数不对该参数进行修改,则可将其设置为常数const。若某变量(非常量,不用const修饰的变量)作为常引用传入一个函数时,其仅在该函数内部是不可修改的,在函数外部仍然...

2020-03-04 14:12:29 291

原创 [c++] vector::resize

vector::resize用于修改vector大小,同时可以修改其默认值void resize( size_type count ); void resize( size_type count, const value_type& value ); resize修改值时只能改变大小变大后那几个元素的值,分为如下几种情况:原始大小等于新设大小vector.size() =...

2020-01-03 17:24:04 55

原创 [c/c++] 借助zlib库读取.gz文件内容

文件指针struct gzFile_s { unsigned have; unsigned char *next; z_off64_t pos;};typedef struct gzFile_s *gzFile;打开.gz文件gzFile ZEXPORT gzopen(path, mode) const char *path; const ch...

2019-12-24 20:11:49 532

原创 [c/c++] gcc makefile -D宏定义 -U取消宏定义

前言Makefile中常见到-D,但这其实不是makefile所有的,而是gcc所有的。-D-D namePredefine name as a macro, with definition 1.定义宏,且将其值默认定义为1宏定义gcc -D FOOgcc -DFOO可通过以上两种方式来宏定义FOO,即-D后加空格或不加空格都可以,这两种方式定义,FOO的值默认为1。...

2019-12-11 18:03:20 622

原创 [开发工具] putty通过密钥免密登录

ref:https://www.cnblogs.com/itech/archive/2011/06/04/2072557.html前提需要PuTTY.exe和PuTTYgen.exe两个软件,可在https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html下载启动Puttygen.exe,点击Generate按钮。在下图红...

2019-12-05 14:19:55 107

原创 [开发工具] putty通过注册表进行session配置

putty session在注册表中的位置Computer\HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions默认配置里,有很多的配置项从其中提炼出常用的配置如下红框中colour0~colour21为putty的配色设置蓝框中为字体相关的设置(常用的为Font字体和FontHeight字符高度,即字体大小)Host Na...

2019-12-05 14:02:04 70

原创 [开发工具] putty通过注册表设置solarized配色

注册表文件下载地址githubhttps://github.com/altercation/solarized/tree/master/putty-colors-solarized若下载不了,文末附上相应的文件内容,将文件名后缀设为.reg保存 选其一下载即可,light为浅色,dark为深色下载后双击打开相应的文件,即可将其加入到注册表中。打开putty可发现配色方案已经在se...

2019-12-05 13:43:08 262

原创 [C/C++]priority_queue构建大顶堆和小顶堆

referencepriority_queue<int, vector<int>, less<int>> max_heap;priority_queue<int, vector<int>, greater<int>> min_heap;

2019-12-02 17:28:08 167

原创 [c/c++] 字符数组定义、初始化及赋值后strlen和sizeof的对比

代码#include <stdio.h>#include <string.h>int main(){ char str[20]; printf("char str[20];\nstrlen = %d\nsizeof = %d\nstr = %s\n\n", strlen(str), sizeof(str), str); memset(str, 0, ...

2019-10-18 11:15:34 79

原创 [c/c++][Linux] 时间类型操作汇总笔记

Linux下获取微秒级时间ref:https://www.cnblogs.com/fengbohello/p/4153831.html定义#include <sys/time.h>int gettimeofday(struct timeval*tv, struct timezone *tz);其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果(此处不需要tz,故...

2019-10-16 16:08:25 83

原创 [c/c++] 文件指针位置回到文件开头(rewind)及行开头(ftell+fseek)

待读入文件1.greenteemo2.csdn3.blog代码,详细说明见注释#include <stdio.h>#define LENGTH_OF_LINE 1024int main(){ FILE *fp = fopen("file.txt", "r"); // 打开文件 char line[LENGTH_OF_LINE]; ...

2019-09-26 16:12:14 4823

原创 [传统算法] 二叉树非递归遍历C++实现

参考先序遍历法一void dlr(TreeNode* root) { if(!root) return; stack<TreeNode*> stk; stk.push(root); while(!stk.empty()){ TreeNode *node = stk.top(); cout <&lt...

2019-08-02 21:14:23 131

原创 [位操作] 计算某个整数的二进制形式中1个的个数

问题例如有一个整数n = 7, 其二进制形式为111,求其二进制形式中1的个数直接上代码int count_one(int n) { while(n) { n = n & (n-1); count++; } return count;}解释如下:整个程序处在一个while循环中,循环条件为n是否为0,循环中n的变化方式为...

2019-07-01 13:59:20 188

原创 [传统算法] 快速排序C++实现

#include <iostream>#include <vector>using namespace std;void output(vector<int> a){ for(int i : a) cout << i << ','; cout << endl;}void qso...

2019-06-27 16:48:46 67

原创 [c/c++] 如何遍历char**

#include <iostream>using namespace std;int main(){ // 初始化 char ** char *temp[2] = {"Raptors", "Warriors"}; char **x = temp; // 遍历 char** for(int i = 0; x &&...

2019-06-03 16:43:42 3458

原创 [Linux] CentOS 7 连接不到网络解决方法

版本:VMware® Workstation 15 Pro -15.0.1 build-10737736 CentOS 7.6.1810问题:ping www.baidu.com不通解决:1. vi /etc/sysconfig/network-scripts/ifcfg-ens33进入后按 “i” 进入INSERT模式,确保下图中红框中的两项和图...

2019-03-27 15:56:12 1612

原创 [传统算法] 二叉树的DFS、BFS遍历 C++ 实现

1. DFS - use recursion void dfs (TreeNode* root) { if(root){ cout &lt;&lt; root-&gt;val &lt;&lt; ' '; dfs(root-&gt;left); dfs(root-&gt;right);...

2019-03-14 17:59:54 864

原创 [传统算法] 二分查找 Binary Search C++实现

int search(vector&lt;int&gt;&amp; nums, int target) { int l = 0, r = nums.size()-1; while(l &lt;= r){ int m = (l+r) / 2; if(nums[m] == target) return m; ...

2019-03-09 19:15:57 149

原创 [机器学习算法] 梯度下降 python实现 (多变量线性回归)

目录 思路代码效果思路依然是按照吴恩达老师机器学习课程上的思路进行编写,重点截图如下。代码from sklearn import datasetsimport numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D # plot 3d...

2019-01-02 21:15:30 1002

原创 [foo] 生命游戏C++简单实现

看了知乎上的一个回答写了下面的代码。#include &lt;iostream&gt;#include &lt;time.h&gt;#include &lt;vector&gt;#include &lt;windows.h&gt;using namespace std;const int base = 100;const int unnormal_seeds = 10;con...

2018-12-27 12:11:38 2200

原创 [传统算法] 归并排序C++实现

void merge_sort(vector<int>& A, int l, int r){ if(l < r){ int m = (l+r) / 2; merge_sort(A, l, m); merge_sort(A, m+1, r); merge...

2018-12-24 20:07:53 53

原创 [机器学习算法] 梯度下降 python实现(线性回归)

算法思路根据吴恩达老师视频中的以下内容编写代码代码import matplotlib.pyplot as pltimport numpy as npclass Linear_Regression(): def __init__(self, data, theta0, theta1, learning_rate): self.data = data ...

2018-12-13 19:05:26 403

solarized_light.reg

putty solarized light 配色注册表 源地址:https://github.com/altercation/solarized/tree/master/putty-colors-solarized

2019-12-05

solarized_dark.reg

putty solaried dark 配色注册表 源地址:https://github.com/altercation/solarized/tree/master/putty-colors-solarized

2019-12-05

空空如也

空空如也

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

TA关注的人 TA的粉丝

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