我不清楚类别家庭和类别发射器之间的区别.从Android文档页面:
CATEGORY_HOME:这是家庭活动,这是设备启动时显示的第一个活动.
CATEGORY_LAUNCHER:应显示在顶级启动器中.
为了测试差异,我用这个清单创建了一个简单的app:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".IntentCategoriesActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Second"
android:label="Whatever" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)
但我所看到的只是我的发射器活动而不是第二次活动.
有人可以解释一下我错过了什么吗?谢谢.
我有2个类,其中一个map<string, vector<string> >我希望能够在其他类中使用它.这是我的代码:
class a
{
map<string, vector<string> > m;
public:
const map<string, vector<string> > & get()
{
return m;
}
};
class b
{
a obj;
public:
void test()
{
map<string, vector<string> > m= obj.get();
// and then print
}
};
int main(int argc, char ** argv)
{
b bobj;
bobj.test();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我返回地图的方式class a是否正确?它工作,但我只想确认它是否正确完成/我很幸运/任何其他关于代码的评论.
谢谢您的帮助.
我正在尝试实施BST unique_ptr.我有一份工作计划shared_ptr.我如何使用unique_ptr来强制实施BinarySearchTree的单一所有权语义?
当我替换shared_ptr时unique_ptr,我得到的编译错误超出了我的理解范围.
#include <iostream>
#include <memory>
template<class T>
class BinarySearchTree{
struct TreeNode;
typedef std::shared_ptr<TreeNode> spTreeNode;
struct TreeNode{
T data;
spTreeNode left;
spTreeNode right;
TreeNode(const T & value):data(value),left(nullptr),right(nullptr){}
};
spTreeNode root;
bool insert(spTreeNode node);
void print(const spTreeNode) const ;
public:
BinarySearchTree();
void insert( const T & node);
void print()const;
};
template<class T>
BinarySearchTree<T>::BinarySearchTree():root(nullptr){}
template<class T>
void BinarySearchTree<T>::insert(const T & ref)
{
TreeNode *node = new TreeNode(ref);
if (root==nullptr)
{
root.reset(node);
}
else
{ …Run Code Online (Sandbox Code Playgroud) #include<stdio.h>
int main()
{
char arr[] = "somestring";
char *ptr1 = arr;
char *ptr2 = ptr1 + 3;
printf("ptr2 - ptr1 = %ld\n", ptr2 - ptr1);
printf("(int*)ptr2 - (int*) ptr1 = %ld", (int*)ptr2 - (int*)ptr1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我明白
ptr2 - ptr1
Run Code Online (Sandbox Code Playgroud)
给出3,但无法弄清楚为什么第二个printf打印0.
在采访中被问到.
A* a=new A();A b; A *c=&b;1和2有什么区别?
我在第二个语句中说过,对象是在堆栈和堆栈中创建的.我的朋友说对象总是在堆上创建的.
什么是正确的答案?
我正在阅读一些书,我决定为用户定义的类型编写自己的后增量运算符实现。这是代码。
#include <iostream>
using namespace std;
class X
{
int a;
public:
X(int x=1):a(x){}
X operator++(int)
{
X oldobj = *this;
(*this).a++;
return oldobj;
}
int get(){return a;}
};
int main()
{
X obj,obj2;
obj++ = obj2;
cout<< obj.get() << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我希望输出是1因为 obj2 的值将在增量完成后被复制。但输出是2.
想法?
PS 我知道这个代码不会赢得任何奖牌及其谬误。这只是为了我的理解。顺便说一句,++obj = obj2返回1;
行为是否未定义?
问题可能是一个非常基本的问题.我是Java的新手,所以请耐心等待.我的代码:
class A
{
int b=10;
A()
{
this.b=7;
}
int f()
{
return b;
}
}
class B extends A{ int b; }
class Test
{
public static void main(String[] args)
{
A a=new B();
System.out.println(a.f());
}
}
Run Code Online (Sandbox Code Playgroud)
为什么输出7?B类不获得自己的实例变量b吗?
public class Fir extends Test
{
public static void main(String args[])
{
Fir fir = new Fir();
System.out.println(fir);
}
public String toString(String x) throws RuntimeException
{
return "Fir";
}
}
class Test
{
protected String toString(String x) throws NullPointerException
{
return "Test";
}
}
Run Code Online (Sandbox Code Playgroud)
这两个类都没有toString适当地覆盖该方法.
问题:这些方法是否被覆盖?
如果是,那么这个规则怎么样:如果超类方法声明了一个异常,子类重写方法可以声明相同,子类异常或没有异常但不能声明父异常.RuntimeException是...的父母NullPointerException.
我有以下Java代码:
public class Lean extends Thread
{
public static void main(String args[]) throws InterruptedException
{
Lean lean = new Lean();
System.out.println("starting");
lean.start();
lean.join();
System.out.println("end");
}
public void run()
{
try
{
System.out.println("waiting");
wait(20000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
finally
{
System.out.println("waiting finished");
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出是(不断变化 - 有时我甚至看不到"结束"打印)
starting
waiting
waiting finished
end
Exception in thread "Thread-1" java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at Lean.run(Lean.java:18)
Run Code Online (Sandbox Code Playgroud)
问题:
为什么我会IllegalMonitorStateException例外?
为什么thread.join不能按照预期的方式工作?(我看不到有时会看到"结束")