我想获得NSNumber实例的类型.
我在http://www.cocoadev.com/index.pl?NSNumber上发现了这个:
NSNumber *myNum = [[NSNumber alloc] initWithBool:TRUE];
if ([[myNum className] isEqualToString:@"NSCFNumber"]) {
// process NSNumber as integer
} else if ([[myNum className] isEqualToString:@"NSCFBoolean"]) {
// process NSNumber as boolean
}
好的,但这不起作用,编译器无法识别[myNum className].我正在为iPhone编译.
我只有这两个表:
TAB_TEACHER
- id_teacher // primary key, autoincrement
- name_teacher // a varchar
TAB_STUDENT
- id_student // primary key, autoincrement
- name_student // a varchar
- id_teacher_fk // foreign key reference to a teacher (TAB_TEACHER)
Run Code Online (Sandbox Code Playgroud)
我想知道如何插入这两种情况:
案例1 - 使用预先存在的教师插入新学生,因此我必须使用教师姓名获取外键
案例2 - 使用新教师插入新学生(我正在创建学生的同时创建的老师)
由于我的设备,我无法使用虚拟功能.假设我有:
class Base
{
void doSomething() { }
};
class Derived : public Base
{
void doSomething() { }
};
// in any place
{
Base *obj = new Derived;
obj->doSomething();
}
Run Code Online (Sandbox Code Playgroud)
在obj->doSomething()将调用只是Base::doSomething()
有没有一种方法Base *obj,来调用doSomething的Derived?
我知道我可以只是把virtual之前doSomething()的Base它解决的问题,但我通过我的设备的限制,编译器不支持它.
我想用多个参数创建一个Thread.可能吗?我有这个功能:
-(void) loginWithUser:(NSString *) user password:(NSString *) password {
}
我想将此函数称为选择器:
[NSThread detachNewThreadSelector:@selector(loginWithUser:user:password:) toTarget:self withObject:@"someusername" withObject:@"somepassword"]; // this is wrong
如何在这个detachNewThreadSelect函数上传递onObject参数的两个参数?
可能吗?
@protocol可以扩展@protocol吗?
@protocol Prot1 : Prot2
@end
Run Code Online (Sandbox Code Playgroud)
喜欢在java中:
public interface Interface1 extends Interface2 {
}
Run Code Online (Sandbox Code Playgroud) 我想在Delphi 5.0中做一个ArrayList.所以我找到了这个代码的解决方案:
var arr: array of String;
Run Code Online (Sandbox Code Playgroud)
好的,但每次我添加的东西我都这样做:
var
Form1: TForm1;
var arr : array of String;
procedure TForm1.Button1Click(Sender: TObject);
var aux :string;
var len:integer;
begin
len := Length(arr) + 1;
SetLength(arr, len);
arr[len-1] := 'abc' + IntToStr(len);
Button1.Caption := arr[len-1]; // just to writeout something
end;
Run Code Online (Sandbox Code Playgroud)
我是一名C++程序员,我对Pascal一无所知.我总是听说Pascal索引从1开始,而不是0.在上面的过程中我做arr [len-1]因为0索引开始.
有没有比Pascal数组更好的方法?和C++一样std::vector吗?
我想投这个:
class Base
{
public:
virtual ~Base(){};
};
class Der : public Base {};
int main()
{
const Base* base = new Der;
Der* der = dynamic_cast<Der*>(base); // Error
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我该怎么办?我试图把:const Der* der = dynamic_cast<Der*>(base);保留const但这不起作用.
使用此代码(只是一类测试):
typedef unsigned short UInt16;
template<class T>
class CClass
{
public:
SValue* getNewSValue(void);
private:
typedef struct {
T *mValue;
T *next;
T *previous;
UInt16 index;
} SValue;
};
template<typename T>
SValue* CClass<T>::getNewSValue(void)
{
return new SValue;
}
Run Code Online (Sandbox Code Playgroud)
我有以下错误:
错误C2143:语法错误:缺少';' 在'*'之前
错误C4430:缺少类型说明符 - 假定为int.注意:C++不支持default-int
是否可以在类中使用Struct?如果我从类中声明结构,则模板不会看到模板T.
如何将12345.12346f的浮点值转换为二进制值的字符串,即"0011010101010101",反之亦然?
void aFunction_2()
{
char* c = new char[10];
c = "abcefgh";
}
Run Code Online (Sandbox Code Playgroud)
问题:
将:c = "abdefgh"存储在new char[10]?
如果c = "abcdefgh"是另一个内存区域我应该解除它吗?
如果我想保存信息,char[10]我会使用一个函数strcpy来将信息放入char[10]?
c++ ×4
objective-c ×3
arrays ×1
bytearray ×1
const ×1
delphi ×1
dynamic-cast ×1
foreign-keys ×1
function ×1
insert ×1
iphone ×1
java ×1
memory-leaks ×1
mysql ×1
nsnumber ×1
nsthread ×1
overriding ×1
pascal ×1
polymorphism ×1
protocols ×1
string ×1
struct ×1
templates ×1
virtual ×1