是否有转换结构/类g++的成员变量的标志或工具?为了说明,请考虑这样的源代码
struct A { virtual void m() {}; };
struct B : public A { int b; virtual void n() = 0; };
struct C : public B { int c1, c2; void o(); };
struct D : public C { virtual void n() {}; A d; };
Run Code Online (Sandbox Code Playgroud)
我想得到类似的东西
A: 0 = (vptr)
B: 0 = (vptr)
4 = b
C: 0 = (vptr)
4 = b
8 = c1
12 = c2
D: 0 = …Run Code Online (Sandbox Code Playgroud) 有没有办法从Android的FileDescriptor对象获取系统文件描述符(套接字或文件号为int)?我想直接在JNI代码中访问文件描述符,而不使用任何Java包装器.
编辑:我发现getParcelFileDescriptorFD并且FileDescriptor有int字段名为"descriptor",示例用法在media/jni/android_media_MediaPlayer.cpp,func定义在frameworks/base/core/jni/android_util_Binder.cpp,字段本身在libcore/luni/src/main/java/java/io/FileDescriptor.java
但这不是官方记录的API的一部分.是否有记录在案的"正确"方法?
我试图在文本字段中闪烁背景颜色.我的计时器设置如下:
Flash flash = new Flash(); //set up timer
tmr = new javax.swing.Timer(1000, new Flash());
tmr.addActionListener(flash);
tmr.setInitialDelay(0);
tmr.setRepeats(true);
tmr.start();
Run Code Online (Sandbox Code Playgroud)
我的actionListener如下:
static class Flash implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if (flasher)
{
SpreademPanel.historyPnl.NameTxt.setBackground(Color.white);
}
else
{
SpreademPanel.historyPnl.NameTxt.setBackground(Color.pink);
}
flasher = !flasher;
} //actionPerformed
} //Flash
Run Code Online (Sandbox Code Playgroud)
现在,当我把它放在调试中并按照动作执行时,程序会反复执行闪存并在两个备选项之间切换.但是在屏幕上,只有第一个切换发生.之后,没有动作,虽然闪光灯仍在运转.
这有什么不对?
在此先感谢您的帮助.
我发布的通知中有一些问题:
[[NSNotificationCenter defaultCenter] postNotificationName:@"MobileProviderChanged"
object:self.selectedProviderID];
Run Code Online (Sandbox Code Playgroud)
不被我的观察者困住:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(onProviderChanged:)
name:@"MobileProviderChanged"
object:nil];
Run Code Online (Sandbox Code Playgroud)
完全相同的观察者在不同的ViewController中正常工作.
有关调试此方法的任何提示,以查看实际发布到defaultCenter的消息是什么?
谢谢.
我有一个实现IEquatable <>的类A,使用它的字段(比如Ab和Ac)来实现/重写Equals()并覆盖GetHashCode(),并且99%的时候一切正常.A类是层次结构(B类,C类)的一部分,它们都从接口D继承; 它们都可以一起存储在字典中,因此当它们都带有自己的默认Equals()/ GetHashCode()时很方便.
然而,在构建AI时,有时需要做一些工作来获得Ab和Ac的值; 当发生这种情况时,我想存储对正在构建的实例的引用.在这种情况下,我不想使用A提供的默认Equals()/ GetHashCode()覆盖.因此,我正在考虑实现一个ReferenceEqualityComparer,这意味着强制使用Object的Equals()/ GetHashCode() :
private class ReferenceEqualityComparer<T> : IEqualityComparer<T>
{
#region IEqualityComparer<T> Members
public bool Equals(T x, T y)
{
return System.Object.ReferenceEquals(x, y);
}
public int GetHashCode(T obj)
{
// what goes here? I want to do something like System.Object.GetHashCode(obj);
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
问题是,由于A重写了Object.GetHashCode(),我如何(在A之外)调用Object.GetHashCode()作为A的实例?
当然,一种方法是A不实现IEquatable <>并且始终为我创建的任何字典提供IEqualityComparer <>,但我希望得到不同的答案.
谢谢
我知道rss feed是新闻......是否有可能从昨天或前天获得rss feed ...(更确切地说,rss feed的存档).
两个具有相同字符的Python字符串,a == b,可以共享内存,id(a)== id(b),或者可以在内存中两次,id(a)!= id(b).尝试
ab = "ab"
print id( ab ), id( "a"+"b" )
Run Code Online (Sandbox Code Playgroud)
在这里,Python认识到新创建的"a"+"b"与已经在内存中的"ab"相同 - 不错.
现在考虑一个N长的州名列表["亚利桑那州","阿拉斯加州","阿拉斯加州","加利福尼亚州......"(在我的案例中为N~500000).
我看到50个不同的id()s⇒每个字符串"Arizona"......只存储一次,很好.
但是将列表写入磁盘并再次读回:"相同"列表现在有N个不同的id()s,内存更多,见下文.
怎么 - 任何人都可以解释Python字符串内存分配?
""" when does Python allocate new memory for identical strings ?
ab = "ab"
print id( ab ), id( "a"+"b" ) # same !
list of N names from 50 states: 50 ids, mem ~ 4N + 50S, each string once
but list > file > mem again: N ids, mem ~ N * (4 + …Run Code Online (Sandbox Code Playgroud) 我想计算圆环表面上两个x/y坐标之间的距离.因此,这是一个普通网格,其边角和边是"连接"的.例如,在500x500的网格上,(499,499)处的点与(0,0)相邻,并且例如(0,0)和(0,495)之间的距离应为5.
有没有什么好的数学计算方法呢?
我需要为简单游戏的在线竞赛实施一个简单的webapp.我需要处理Get请求并对此做出响应.
我想,让我们使用一个简单的ASP.Net MVC应用程序,让它处理URL.
问题是,我需要处理的URL是:
http://myDomain.com/bot/?Action=DoThis&Foo=Bar
Run Code Online (Sandbox Code Playgroud)
我试过了:
public ActionResult Index(string Action, string Foo)
{
if (Action == "DoThis")
{
return Content("Done");
}
else
{
return Content(Action);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,字符串Action总是被设置为路径的动作名称.我总是得到:
Action == "Index"
Run Code Online (Sandbox Code Playgroud)
看起来ASP.Net MVC会覆盖Action参数输入,并使用实际的ASP.Net MVC Action.
由于我无法更改我需要处理的URL的格式:有没有办法正确检索参数?
在python列表中可以像这样切片x[4:-1]以从第四个元素到最后一个元素.
在R中,对于带有x[4:length(x)]和用于多维数组的向量,可以实现类似的东西x[,,,,4:dim(x)[5],,,].对于从中间元素到最后一个元素的特定维度的数组切片,这是更优雅的语法吗?
谢谢
c# ×2
android ×1
arrays ×1
asp.net-mvc ×1
c++ ×1
coordinates ×1
debugging ×1
distance ×1
feeds ×1
g++ ×1
gcc ×1
gethashcode ×1
grid ×1
iequatable ×1
iphone ×1
java ×1
math ×1
memory ×1
native ×1
objective-c ×1
parameters ×1
python ×1
r ×1
rss ×1
slice ×1
sub-array ×1
swing ×1
url ×1