小编bso*_*dra的帖子

如何利用Clang的AST?

我正在考虑将Clang的AST用于我的C代码并对AST进行一些分析.关于从哪里开始,如何获得Clang的AST,教程或这方面的任何内容的一些指示将是非常有帮助的!

我一直试图找到一些,我得到了这个链接,这是2年前创建的.但由于某种原因,它不适合我.教程中的示例代码给出了太多错误.所以我不确定,如果我正确构建代码或者教程有些问题.但我也很乐意从其他一些页面开始.

c clang abstract-syntax-tree

23
推荐指数
2
解决办法
1万
查看次数

如何将二维向量传递给C++中的函数?

如果它被传递,它是通过值还是通过引用传递的?

void printMatrix(vector<vector<int>> *matrix);

...

vector<vector<int>> matrix(3, vector<int>(3,0));
printMatrix(&matrix1);
Run Code Online (Sandbox Code Playgroud)

c++ 2d vector

11
推荐指数
1
解决办法
3万
查看次数

用<< istream上的<<读取固定数量的字符

我在C++中尝试了一些文件阅读策略,但我遇到了这个问题.

ifstream ifsw1("c:\\trys\\str3.txt");
char ifsw1w[3];
do {
    ifsw1 >> ifsw1w;
    if (ifsw1.eof())
        break;
    cout << ifsw1w << flush << endl;
} while (1);
ifsw1.close();
Run Code Online (Sandbox Code Playgroud)

文件的内容是

firstfirst firstsecond
secondfirst secondsecond

当我看到输出时,它被打印为

 firstfirst
firstsecond
secondfirst

我期望输出类似于:

fir
stf
irs
tfi
.....

而且我看到"第二秒"还没有打印出来.我猜最后一次读取已经满足了eof并且可能没有执行cout.但第一种行为是不可理解的.

c++ iostream ifstream filereader

5
推荐指数
1
解决办法
3911
查看次数

从Mac到Windows的Netbeans项目

我在Mac上创建了一个Netbeans CPP项目并将其上传到git中.该项目有使用Windows的合作者.

当我将项目推送到github时,我也推送了makefile信息(整个项目).现在,协作者正在获取构建错误,因为该引用包含我的Mac文件路径.

Windows机器安装了cygwin.

  1. 我该如何解决?
  2. 我如何让它与平台无关?
  3. 我(和合作者)应该做些什么来不影响其他工人?

解答:Netbeans有一个选项(在c ++下的项目属性中),可以将文件路径设置为绝对路径或相对路径.所以我必须做的是,设置相对选项并推动更改.该项目开始为每个人工作!VOILA !!!!!!!!

windows git macos netbeans makefile

5
推荐指数
1
解决办法
2116
查看次数

CPP中的单身人士

下面是单例类的代码


class single{
private:
    int i;
    single(int x): i(x){ 

    }
public:
    static single& getInstance(){
        static single s(10);
        return s;
    }

    void incPrint(){
        ++i;
        cout i  " ";
    }
};
Run Code Online (Sandbox Code Playgroud)

现在相同的代码为2个不同的代码提供了两个不同的结果


single d1 = single::getInstance();
    d1.incPrint();
    d1.incPrint();

    single d2 = single::getInstance();
    d2.incPrint();
    d2.incPrint();
Run Code Online (Sandbox Code Playgroud)

此代码生成输出:

11 12 11 12

而这段代码


    single & d1 = single::getInstance();
    d1.incPrint();
    d1.incPrint();

    single & d2 = single::getInstance();
    d2.incPrint();
    d2.incPrint();
Run Code Online (Sandbox Code Playgroud)

产生结果

11 12 13 14

后者是所需的输出.由于设计问题或用户编码问题,这是异常吗?如何确保只获得第二个结果?

谢谢

c++ oop singleton ambiguity

2
推荐指数
1
解决办法
575
查看次数

C#与Nullables的行为

在C#中

int? a1 = 0;
int? a2 = 100;
a1 = a1 | default(int?);
a2 = a2 | default(int?);

bool? a1 = null;
bool? a2 = true;
a1 = a1 | default(bool?);
a2 = a2 | default(bool?);

这段代码没有发出警告,说表达式的结果总是为null.推断的原因是'I_dont_know'| int ='I_dont_know',其中'I_dont_know'| true = true

如我错了请纠正我

c# nullable

1
推荐指数
2
解决办法
117
查看次数