我从GitHub分出了一个回购并进行了一系列修改.然后我发现我在一个文件中的一个修改可以是原始repo问题的补丁,但作者不想合并我的其他修改,所以我不想直接发送拉请求.而且我认为再次分叉并只是修改该文件来制作补丁然后发送拉请求似乎不那么优雅.有没有"标准"的方法呢?
例如,如何在没有任何其他信息的情况下实现以下功能?
bool isEnd(set<int> :: iterator itr);
Run Code Online (Sandbox Code Playgroud)
我知道我可以这样做,但如果没有输入变量"s"怎么办呢?
bool isEnd(const set<int> &s, set<int> :: iterator itr) {
return itr == s.end();
}
Run Code Online (Sandbox Code Playgroud) 我正在从https://github.com/antirez/redis上阅读redis的源代码.
我在src/ziplist.c中看到过这样的宏
#define INT24_MAX 0x7fffff
#define INT24_MIN (-INT24_MAX - 1)
Run Code Online (Sandbox Code Playgroud)
为什么不这样做呢?
#define INT24_MIN (~INT24_MAX)
Run Code Online (Sandbox Code Playgroud) 我在C中看到了3种不同的结构尺寸方法.
typedef struct A {
int a, b;
} A;
sizeof(A); // method 1
sizeof(struct A); // method 2
A *p;
sizeof(*p); // method 3
Run Code Online (Sandbox Code Playgroud)
哪一个是最合适的方法呢?考虑效率和可读性.