小编Dmi*_*yov的帖子

如何查看C++变量的类型?

假设我在Xcode 4.4.1中有以下C++代码.

int Func();

...

void Test()
{
    auto Variable = Func();

    ...

    DoSomething(Variable);
}
Run Code Online (Sandbox Code Playgroud)

假设我想在第二行的最后一行找出变量的类型.我怎么能在Xcode中做到这一点?

IIRC,在Visual Studio中,将鼠标光标放在变量上,然后出现工具提示.这在Xcode中不会发生.

我知道这3种方法,但我想知道是否有更好的东西,我不知道.

  1. 如果你按住alt并单击Variable,它会说"在SomeFile.h中定义".

  2. 如果按住cmd并单击"变量",则会转到定义"变量"的行.但是你必须找出Func()的返回类型,它涉及更多的步骤.我正在寻找最快的方法来做到这一点.

  3. 如果将光标放在变量的末尾,然后按Ctrl + Space,它将显示自动完成,其中列出了变量类型.这可行,但它看起来非常间接(例如,如果你把光标放在别处,你可能会在自动完成列表中获得很多条目,迫使你搜索变量).有没有更直接的方法来做到这一点?

如何找到Xcode中最后一行的变量类型?

debugging xcode xcode4.4

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

如果前向声明不够,如何避免"'标识符'使用未定义的类/结构/联合'名称'"错误?

根据http://msdn.microsoft.com/en-us/library/9ekhdcxs(v=vs.80).aspx,

如果您尝试在其前向声明仅在范围内的类型的堆栈上声明对象,也会发生C2079.

class A;

class B {
    A a;   // C2079
};

class A {};
Run Code Online (Sandbox Code Playgroud)

可能的决议:

class A;

class C {};

class B {
   A * a;
   C c;
};
class A {};
Run Code Online (Sandbox Code Playgroud)

我的问题是当我遇到以下情况时如何消除此错误:

class A;  // Object

class B   // Container
{
   public:
     typedef int SomeTypedef;
   private:
     A a;   // C2079
};

class A {
   void Foo(B::SomeTypedef);
};
Run Code Online (Sandbox Code Playgroud)

在声明B之前我无法声明A,因为A需要使用B的typedef,并且由于此错误,我无法在A之前声明B.

一种可能的解决方案是使用指向A而不是堆栈变量的指针,但我不想要指针(在这种情况下).

另一个解决方案是不使用typedef,或者不将它放在B类中.但是如果它属于B并且我不想污染我的项目的命名空间,如B :: SomeTypedef是一个比SomeTypedef更合适的名称呢?

c++

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

如何通过命令行运行/ bin/bash时将$ TERM设置为一个值?

当我运行/bin/bash有两个参数的过程中-cSomeUserInput,

其中SomeUserInput是 echo $TERM

输出是

xterm-256color

有没有办法可以通过命令行参数/bin/bash设置$ TERM的值,以便上面的调用echo $TERM会打印我指定的其他东西?

(是的,我已经做了很多挖掘man bash和搜索其他地方,但找不到答案;虽然我认为它可能存在.)

bash

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

什么是这个bash事物的可搜索术语:<(命令)

我感到非常无助,因为我无法谷歌 - 谷歌只是忽略了那些角色(即使我把它们放在双引号中).

当你打开一个bash终端并执行以下操作时会调用它:

diff <(command) <(cat some_file)
Run Code Online (Sandbox Code Playgroud)

几周前我找到了答案,但现在我记不起来了.

此外,我记得有一些方法可以看到真正发生的事情,因为它会创建匿名管道或其他东西.我如何从上面的命令到看到类似的东西:

diff /dev/fd/53 /dev/fd/54
Run Code Online (Sandbox Code Playgroud)

实际上最终会发生什么.几个星期前我做了这个,但不记得了......

奖励积分如果有人知道如何强制谷歌搜索<(command)并找到特定的结果,而不是像你搜索的那样command

bash

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

受保护的成员是否可以在非直接后代中访问?

根据http://en.cppreference.com/w/cpp/language/access,

受保护的成员可以在类及其方法及其后代中访问

它们只是指直系后代,而不是后代的后代,还是指所有后代?

例如,如果C类是B的子类,B是具有受保护成员的A的子类,那么B显然可以访问它,但是C呢?

c++

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

标签 统计

bash ×2

c++ ×2

debugging ×1

xcode ×1

xcode4.4 ×1