由买买提看人间百态

topics

全部话题 - 话题: myfoo
(共0页)
d****p
发帖数: 685
1
来自主题: Programming版 - Compile issues
Is the following code right:
void foo()
{
struct MyFoo
{
int a;
int b;
};
MyFoo myFoo;
// do stuff
}
How about this one:
void foo()
{
struct MyFoo
{
int a;
int b;
};
std::vector myFooList;
// do stuff
}
m*********a
发帖数: 3299
2
来自主题: Programming版 - 这二个在C++中有区别不?
这个就是很不规则的
Foo *myFoo=new Foo();的话C++,如果出了code block{}的话,
myFoo会call Foo()但是不会call ~Foo();需要自己call ~Foo()不?
但是Foo myFoo;的话C++,如果出了code block{}的话,
myFoo会call Foo()和 ~Foo();
不知是为啥,大牛解释一下。
Java是咋靠destructor的?
m*********a
发帖数: 3299
3
来自主题: Programming版 - 这二个在C++中有区别不?
这个就是很不规则的
Foo *myFoo=new Foo();的话C++,如果出了code block{}的话,
myFoo会call Foo()但是不会call ~Foo();需要自己call ~Foo()不?
但是Foo myFoo;的话C++,如果出了code block{}的话,
myFoo会call Foo()和 ~Foo();
不知是为啥,大牛解释一下。
Java是咋靠destructor的?
m*********a
发帖数: 3299
4
来自主题: Programming版 - 这二个在C++中有区别不?
Foo 是一个object
Foo &myFoo=*(new Foo());

Foo myFoo=*(new Foo());
myFoo都是Foo的一个reference吧?
m*********a
发帖数: 3299
5
来自主题: Programming版 - 这二个在C++中有区别不?
Foo 是一个object
Foo &myFoo=*(new Foo());

Foo myFoo=*(new Foo());
myFoo都是Foo的一个reference吧?
d****i
发帖数: 4809
6
来自主题: Programming版 - 这二个在C++中有区别不?
你这个是哪里看来的乱七八糟的东西?C++里面创建对象一般最常用的就两种:
Foo myFoo;
或者
Foo *myFoo = new Foo();
// some code...
delete myFoo;
前者stack后者heap。前者不用你来管理,后者需要你手动delete释放内存。相当与C里
面的malloc和free的配对。
m*********a
发帖数: 3299
7
来自主题: Programming版 - 这二个在C++中有区别不?
多谢。终于懂了。
真是太坑了,java 的实现多简单啊
Foo myFoo=new Foo();

c++的
Foo &myFoo=*(new Foo());
m*********a
发帖数: 3299
8
来自主题: Programming版 - 这二个在C++中有区别不?
多谢。终于懂了。
真是太坑了,java 的实现多简单啊
Foo myFoo=new Foo();

c++的
Foo &myFoo=*(new Foo());
v******y
发帖数: 84
9
来自主题: Programming版 - 这二个在C++中有区别不?
要用
Foo myFoo=*(new Foo());
正确的话,copy construct要重新定义
Foo(const Foo & rhs){
//memberwise copy of Foo's member from rhs to this
delete &rhs;//prevent memory leak
}
那以后就不能用, Foo myFoo=Foo();
这个delete stack上的Foo()是undefined.
虽然很多程序运行没有问题,但是还是不安全
有啥办法不?
还有如果
Foo *a=new Foo();
Foo b(*a);
a就给释放了。程序完全乱了
c++无法知道object是分配到heap还是stack的。
t******a
发帖数: 1200
10

1. 你知道什么是 double buffering 么? 你看过 Java Stream 的实现么? 你
Benchmark 过Java IO Library vs C library 么 ? 不要整天拿个你不懂的名词
跑火车。 Java 做 serialization时因为 type saftety 原因不支持类似
readFoo( &myfoo, sizeof(Foo)) 的方法,但单纯的 read, write 是不慢
的, 尤其是 disk/network io.
Premature optimization is the root of all evil. - Don Knuth
Rule 1: Don't optimize your code. Rule 2 : Still don't optimize your code
用 C 实现相同的功能速度不可能是 Java 的十倍。按照我们的经验,Java 比 C
一般情况下慢 20% - 100% 左右。如果有特别 computational bootleneck,
用 JNI 写一个 Native implementat
(共0页)