我在master分支中做了几次提交,然后将它们合并到dev分支.
我想从dev分支中的特定提交创建一个分支,它首先在master分支中提交.
我使用了命令:
git checkout dev
git branch <branch name> <commit id>
Run Code Online (Sandbox Code Playgroud)
但是,这会从master分支创建分支,而不是我期望的dev分支.master分支和dev分支中的commit id相同.那么,我如何区分不同分支中的相同提交ID?
PS:我在github上做了一个例子https://github.com/RolandXu/test_for_branch
我使用了命令:
git checkout dev
git branch test 07aeec983bfc17c25f0b0a7c1d47da8e35df7af8
Run Code Online (Sandbox Code Playgroud)
我期望的是测试分支包含aa.txt bb.txt cc.txt.但是,测试分支仅包含aa.txt和cc.txt.它很可能是从主分支创建了分支.
myTemplateTemplate期望第二个模板参数是带有一个参数的模板.myDefaultTemplate是一个带有两个参数的模板,第二个参数的默认类型为int.
在VS2008中,我得到编译错误:类模板'myDefaultTemplate'的模板参数列表与模板参数'TT'的模板参数列表不匹配
那么,为什么myDefaultTemplate不能仅用作一个参数的模板呢?如果C++编译器支持它会有任何负面影响吗?
template
<typename T1, typename T2 = int>
class
myDefaultTemplate{
T1 a;
T2 b;
};
template
<typename T1, template<typename T2> class TT>
class
myTemplateTemplate{
T1 a;
TT<T1> b;
};
int main(int argc, char* argv[]){
myTemplateTemplate<int, myDefaultTemplate> bar; //error here:
return 0;
}
Run Code Online (Sandbox Code Playgroud) 像_T()Visual Studio中的宏一样,我定义并使用了我自己的_L宏:
#define _L(x) __L(x)
#define __L(x) L ## x
Run Code Online (Sandbox Code Playgroud)
它适用于:
wprintf(_L("abc\n"));
Run Code Online (Sandbox Code Playgroud)
但得到一个编译错误:
wprintf(_L("abc\n""def\n"));
Run Code Online (Sandbox Code Playgroud)
它报告"不能连接不同字符种类的字符串文字".
我也做了:
#define _L2(x) __L2(x)
#define __L2(x) L ## #x
wprintf(_L2("abc\n""def\n"));
Run Code Online (Sandbox Code Playgroud)
代码被编译,但\n不能作为新行的转义序列.所述\n变两个字符,并输出wprintf为:
"ABC \n" "高清\n"
我怎么能有一个宏将两个连接的char字符串转换为wchar_t?问题是我有一些已经存在的宏:
#define BAR "The fist line\n" \
"The second line\n"
Run Code Online (Sandbox Code Playgroud)
我想wchar在编译期间将它们转换为字符串.编译器是Windows中的ICC.
编辑:
在_Lgcc的宏观工程,MSVC和ICC没有工作,这是一个编译器错误.谢谢@R ..对我发表评论.
我正在使用 sublime text 3 编辑 Github 风格的 markdown 文件并安装 sublimetext-markdown-preview。其文件称
Markdown Preview 实际上可以通过多种方式处理它们:在线和离线。
不过我翻阅文档后并没有找到如何从线上切换到线下。
我猜 sublimetext-markdown-preview 不支持离线 Github 风格的 markdown 原生,并且需要在本地安装支持 Github 风格的 markdown 的外部 markdown 解析器。
有没有人给我一些提示?
哪个离线 Markdown 解析器可以处理 Github 风格的 Markdown,而无需访问网络到 Github API?我在谷歌上搜索但没有找到那种解析器。
我经常使用超过20个字段的大结构,需要用不同的值初始化.每次我写init函数时,我都是忧郁症,我总是担心我错过了一个被分配值的字段.所以我必须逐个检查每个字段.
我讨厌这个,所以我使用像样本代码一样的CHECK_VAL宏.现在,如果我在结构初始化中遗漏了一个项目,编译器将报告错误:
"Check"类型的值不能用于初始化"int"类型的实体
我的问题:是否有其他方法可以帮助解决我的问题?语言是C和C++,大结构是POD类型.
代码示例
#define DOCHECK 1
#if DOCHECK
typedef struct _Check{
char k;
} Check;
Check g_check = {'c'};
#define CHECK_DEL Check c1234567;
#define CHECK_VAL (g_check)
#else
#define CHECK_DEL
#define CHECK_VAL
#endif
typedef struct _BigStruct{
int bar;
int foo;
/*...*/
int f99;
int f100;
CHECK_DEL;
}BigStruct;
void initBigStruct(BigStruct* p){
int a,b,c,d;
a = b = c = d = 0;
/*
many other code to caculate the value of a,b,c,d
*/
{
BigStruct tmp = {a,b,c,d, CHECK_VAL};
*p …Run Code Online (Sandbox Code Playgroud)