int *intialize(void)
{
int value[64];
for ( int i = 0; i < 64 ; i++)
{
value[i] = i;
return value;
}
}
int main( )
{
int * p;
p = intialize();
p[32] = 100;
printf("%d", p[32]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
以上是在采访中向我询问的示例代码.虽然我没有发现错误并且明显被拒绝,但我很想知道这段代码到底是什么问题.
我有一个结构数组,按结构的成员排序,如:
struct foo
{
int bar;
double baz;
};
// An array of foo, sorted on .bar
foo foos[] = { ........ };
// foos[0] = {0, 0.245}
// foos[1] = {1, -943.2}
// foos[2] = {2, 304.222}
// etc...
Run Code Online (Sandbox Code Playgroud)
我想找到具有特定.bar值的元素.它可能会也可能不会在数组中,我想在O(log(n))时间内完成它,因为数组是排序的.
std::lower_bound我通常会这样做,但我需要指定一个比较函数.但是,array(struct foo)的成员类型和搜索的value(int)不一样,因此,我的比较器是:
bool comp(foo a, int b)
{
// ...
}
// --- or ---
bool comp(int a, foo b)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
看起来第一个可以使用gcc,但我想知道比较函数的参数的顺序是否由标准指定,或者我是否依赖于编译器行为.
我想避免构建一个foo传递到std::lower_bound这里,因为 …
我知道一个矩阵[x比例尺,y倾斜度,x倾斜度,y比例尺,trans x,trans y],并且想要获取以度为单位的角度。
谢谢!
withD 2.0中有一个关键字,但我不确定它是做什么的,或者如何使用它.我对文档的搜索毫无结果.有谁知道with关键字的用途是什么?(它是否像C#的using声明?或者像Visual Basic的With子句?)
错误:在'<'标记之前的预期构造函数,析构函数或类型转换
C++代码的相关部分:
InputParser::vector<bar*> getFooBar(){
return bars;
}
Run Code Online (Sandbox Code Playgroud)
我们定义了矢量条; 作为头文件中的私有变量.
有人可以解释如何解决此错误?
我给的数据可以是字符串或数组.我需要做不同的操作,具体取决于它是哪一个,所以我的问题是,如何判断对象是Python中的数组还是字符串?
conn = boto.connect_sdb(AWSKey, AWSSecret)
item = conn.get_domain(dName).get_item(imagekey)
tags = item['tag']
tags == array or string?
Run Code Online (Sandbox Code Playgroud) 我想使用JavaScript InfoVis Tooljit(http://thejit.org)在django中渲染一个mptt节点的树.如何在django中创建所需的json结构(请参阅http://thejit.org/static/v20/Jit/Examples/Spacetree/example1.code.html以获取示例)?
谢谢
我有一个带有导出函数的C++ DLL:
extern "C" __declspec(dllexport) double* fft(double* dataReal, double* dataImag)
{
[...]
}
Run Code Online (Sandbox Code Playgroud)
该函数计算两个双数组(实数和虚数)的FFT,返回单个双数组,实数为虚数组件交错:{Re,Im,Re,Im,...}
我不知道如何在C#中调用此函数.我在做的是:
[DllImport("fft.dll")]
static extern double[] fft(double[] dataReal, double[] dataImag);
Run Code Online (Sandbox Code Playgroud)
当我像这样测试它:
double[] foo = fft(new double[] { 1, 2, 3, 4 }, new double[] { 0, 0, 0, 0 });
Run Code Online (Sandbox Code Playgroud)
我收到MarshalDirectiveException异常:
无法封送"返回值":无效的托管/非托管类型组合.
我假设这是因为C++ double*与C#不完全相同double[],但我不确定如何解决它.有任何想法吗?
编辑:我已经更改了签名,以便我现在传递一些额外的信息:
extern "C" __declspec(dllexport) void fft(double* dataReal, double* dataImag, int length, double* output);
Run Code Online (Sandbox Code Playgroud)
我们总是知道长度output是2倍length
和
[DllImport("fft.dll")]
static extern void fft(double[] dataReal, double[] dataImag, int length, out double[] …Run Code Online (Sandbox Code Playgroud) 我无法通过使用字符串变量和PHP 5.3来解决实例化新类的问题.命名空间.例如,这有效;
$class = 'Reflection';
$object = new $class();
Run Code Online (Sandbox Code Playgroud)
但是,这不是;
$class = '\Application\Log\MyClass';
$object = new $class();
Run Code Online (Sandbox Code Playgroud)
抛出致命错误,说明无法找到该类.然而,如果使用FQN,它显然可以被实例化;
$object = new \Application\Log\MyClass;
Run Code Online (Sandbox Code Playgroud)
我发现这在PHP 5.3.2-1中是常见的,但在后来的版本中并非如此.有没有解决这个问题?
我有一个关于如何构建与 GUI 对象相关的代码的问题。假设我有一个对话框,它有一个列表控件,该控件有一堆从数据库中获取的名称。用户可以编辑名称。逻辑是驻留在该对话框类中还是应该来自外部。为了说明我的意思,这里有一些伪代码显示了在对话框类之外处理逻辑时的代码结构:
NamesDialog : wxDialog
{
Private:
..stuff..
Public:
...
SetNames(wxStringArray names);
wxStringArray GetNames();
..stuff..
}
Run Code Online (Sandbox Code Playgroud)
因此,该类的用户会执行以下操作:
wxStringArray names = DatabaseManager::Get()->GetNames();
names.Sort();
NamesDialogObject.SetNames(names);
NamesDialogObject.ShowModal();
wxStringArray modified_names = NamesDialogObject.GetNames();
AddToDatabase(modified_names); //or something like this.
Run Code Online (Sandbox Code Playgroud)
另一方面,数据库逻辑可以驻留在NamesDialog 类本身中。在 show 方法中,我可以查询数据库的名称,并且当用户与控件(在本例中为列表控件)交互时,可以从事件处理程序更新数据库。因此 NamesDialog 类只有 Show() 方法,因为不需要使用 SetNames 或 GetNames() 等。
通常首选哪种方法?我没有太多的工作经验,所以我不确定哪种是处理它的正确方法。有时,处理类中的所有内容更容易,但访问与之交互的对象可能具有挑战性。通常可以通过让相关对象像上面示例中的数据库管理器一样成为单例来实现。
c++ ×4
stl ×2
actionscript ×1
arrays ×1
autoload ×1
c ×1
c# ×1
d ×1
django ×1
django-mptt ×1
dllimport ×1
interop ×1
javascript ×1
marshalling ×1
math ×1
namespaces ×1
php ×1
python ×1
string ×1
trigonometry ×1
vector ×1
wxwidgets ×1