Redian新闻
>
请教大牛们,关于做actuarial developer的前途
avatar
请教大牛们,关于做actuarial developer的前途# Actuary - 精算
W*e
1
【 以下文字转载自 Military 讨论区 】
发信人: babywhenugon (若林), 信区: Military
标 题: 谢国忠:制度惯性决定中美两国刺激计划将延用老招,两年内牛市无望
发信站: BBS 未名空间站 (Wed Feb 11 02:42:52 2009)
谢国忠:制度惯性决定中美两国刺激计划将延用老招,两年内牛市无望
作者:首长下乡视察 提交日期:2009-1-29 9:38:00 访问:3737 回复:48
谢国忠:制度惯性决定两国刺激计划将延用老招,两年内牛市无望
【背景】美“众议院版”经济刺激计划草案出台。
美国东部时间1月15日,美国众议院拨款委员会公布了“美国复苏与再投资计
划”草案,对奥巴马的新经济刺激计划作了细化和修改。该草案有望于1月底在众议院
内接受投票表决。
这份“众议院版”草案预计经济刺激计划的总规模为8250亿美元,其中,为居
民和企业减税2750亿美元,略低于奥巴马上周预计的3000亿美元。与“ 奥巴马版本”
不同的是,众议院草案去掉了为企业每名新雇员工提供3000美元税收减免的措施,加入
了对教育、抚养儿童和首次购
avatar
b*n
2
我在用Turbotax premium中file California state ta'x,其中一项关于问道Income
Exempt by U.S. Tax Treaties,不知道我有多少可以写在里面?
以前F1的时候用过5000,现在H1B两年了,不知道还有没有
谢谢
avatar
j*n
3
【 以下文字转载自 Memory 讨论区 】
发信人: clam (流浪中的唐先生), 信区: Memory
标 题: 【六一专题活动】童年回忆
发信站: BBS 未名空间站 (Wed Jun 2 07:23:15 2010, 美东)
发信人: yangjin (洋金), 信区: Music
标 题: 【六一专题活动】童年回忆
发信站: BBS 未名空间站 (Tue Jun 1 17:34:20 2010, 美东)
六一是孩子们的节日,也是大人们的回忆。今年六一我们准备两项活动,与大家一起
渡过我们曾经的共同的节日。
活动时间:2010年6月1日--6月15日
活动一 -- 回忆你的童年或你家宝宝的成长过程
内容形式:可以是文章(童年趣事,童年难忘的歌谣等),照片(你小时候的照片,宝
宝的照片),翻唱(限儿童歌曲)等等,只要你能想的出的形式和主题有关即可。
奖励:每个参加活动作品3个包子,奔照片5个包子
活动二 -- 童声大PK
拿出你最得意的童声翻唱,我们不比唱功,不比录音效果,只要幼齿,越幼齿越好。我
们会请来嘉宾评委评出最幼齿作品,颁发大奖。
奖励:每首参赛作品2个包子,
avatar
g*1
4
char *m()
{
char str[50];
strcpy(str,"how are you");
return str;
}
int main()
{
char s[50];
strcpy(s,m());
printf("%s",s);
//cin.get();
return 0;
}
为什么结果可以正确输出呢?我知道return by pointer可以make copy,可是return之
后storage不是free了吗?
另外,为什么下面这个就只能由一部分正确输出?
char *m()
{
char str[20];
strcpy(str,"how are you");
return str;
}
int main()
{

printf("%s",m());
//cin.get();
return 0;
}
然后上面char str[20];改成比如char str[50],输出就完全是乱得了
avatar
a*b
5
有公司有个职位,需要一个FSA做各种valuation,forecasting等的system
development,和new product implementation。60% 的时间需要用C++, SQL, .NET做
系统设计,剩下的就是管人,和做presentation之类。
这种纯技术的职位是不是不好往上爬?虽然说做系统肯定对valuation的了解比作
valuation的人还深入,但感觉进入了一个nich market,以后想跳都不容易啊。。。
大牛讨论一下?
avatar
S*Y
6
no

【在 b*********n 的大作中提到】
: 我在用Turbotax premium中file California state ta'x,其中一项关于问道Income
: Exempt by U.S. Tax Treaties,不知道我有多少可以写在里面?
: 以前F1的时候用过5000,现在H1B两年了,不知道还有没有
: 谢谢

avatar
X*r
7
The behavior of such program is undefined, meaning that they could produce
any result, from crashing to the 'right' output. It is pointless to try to
understand when it will produce the 'right' result, for you can't rely on
that anyway. Just don't do it.

【在 g*****1 的大作中提到】
: char *m()
: {
: char str[50];
: strcpy(str,"how are you");
: return str;
: }
: int main()
: {
: char s[50];
: strcpy(s,m());

avatar
s*0
8
关键的问题是 你过去了 能搞得定吗
看上去很难的样子 还有.net 啊 这个不是保险公司的it吗 真是的
avatar
d*n
9
this makes the array safe.
char *m()
{
Static char str[50];
strcpy(str,"how are you");
return str;
}
或者这样 thread safe
char * m(){
char *ret=(char *)malloc(sizeof(char)*20);
strcpy(str, "I am good");
return str;
}
main(){
char * str=m();

printf("%s\n",str);
free(str);
}
avatar
l*a
10
汗...二把刀是不行啊,
我才发现我刚写完的一个东西就这样return pointer的
这样不好是吗?那要return pointer是不是必须改成
void foobar(type *temp)这种来修改temp?
问题是我有时候不知道这个数组多长,例如10个int,但是这个10写在文件中,我得读了才
能知道
我现在是 int *foobar(char *fname)这样进去读第一行读到一个整数10
然后才int *temp = new int[10];
最后return temp;
这种情况怎么办呢?
avatar
d*n
11
没太明白。
你每行都有不同个数的 int?
怎么分隔的?
如果是text , 用tab 或 ,分隔的。就用getline 写个小东西。
得出多少个int。再用new 就搞订了。
但是最后要注意garbage collection

【在 l********a 的大作中提到】
: 汗...二把刀是不行啊,
: 我才发现我刚写完的一个东西就这样return pointer的
: 这样不好是吗?那要return pointer是不是必须改成
: void foobar(type *temp)这种来修改temp?
: 问题是我有时候不知道这个数组多长,例如10个int,但是这个10写在文件中,我得读了才
: 能知道
: 我现在是 int *foobar(char *fname)这样进去读第一行读到一个整数10
: 然后才int *temp = new int[10];
: 最后return temp;
: 这种情况怎么办呢?

avatar
l*s
12
lz is C and stack memory, and you are C++ and heap memory. So you are safe,
just don't forget to delete temp in the caller.

【在 l********a 的大作中提到】
: 汗...二把刀是不行啊,
: 我才发现我刚写完的一个东西就这样return pointer的
: 这样不好是吗?那要return pointer是不是必须改成
: void foobar(type *temp)这种来修改temp?
: 问题是我有时候不知道这个数组多长,例如10个int,但是这个10写在文件中,我得读了才
: 能知道
: 我现在是 int *foobar(char *fname)这样进去读第一行读到一个整数10
: 然后才int *temp = new int[10];
: 最后return temp;
: 这种情况怎么办呢?

avatar
n*e
13

bad style, though valid, but still not array safe. It returns a "char*",
that means the caller can change the contents by using another strcpy, say:
char* bad = m();
strcpy(bad, "1234567890 1234567890 1234567890 1234567890 1234567890
1234567890 1234567890");
you know what will happen.
Don't see how this could make it thread safe? I'm not expert on multiple
threading, but first impression, it is not true.

【在 d****n 的大作中提到】
: this makes the array safe.
: char *m()
: {
: Static char str[50];
: strcpy(str,"how are you");
: return str;
: }
: 或者这样 thread safe
: char * m(){
: char *ret=(char *)malloc(sizeof(char)*20);

avatar
p*t
14
char *ret?

【在 d****n 的大作中提到】
: this makes the array safe.
: char *m()
: {
: Static char str[50];
: strcpy(str,"how are you");
: return str;
: }
: 或者这样 thread safe
: char * m(){
: char *ret=(char *)malloc(sizeof(char)*20);

avatar
p*t
15
2网友的意见不同,哪个是对的?
newpolice -- function char *m() {} is valid
Xentar -- it's undefined.

char *m()
{
char str[50];
strcpy(str,"how are you");
return str;
}
int main()
{
char s[50];
strcpy(s,m());
printf("%s",s);
//cin.get();
return 0;
}
为什么结果可以正确输出呢?我知道return by pointer可以make copy,可是return之
后storage不是free了吗?
另外,为什么下面这个就只能由一部分正确输出?
char *m()
{
char str[20];
strcpy(str,"how are you");
return str;
}
int main()
{

printf("%s",m());
//cin.get();
return 0;
}
然后上面char str[20];改成比如char str[50],输出就完全是乱得了

【在 g*****1 的大作中提到】
: char *m()
: {
: char str[50];
: strcpy(str,"how are you");
: return str;
: }
: int main()
: {
: char s[50];
: strcpy(s,m());

avatar
t*t
16
你看这ID, 你觉得应该信谁?

【在 p*********t 的大作中提到】
: 2网友的意见不同,哪个是对的?
: newpolice -- function char *m() {} is valid
: Xentar -- it's undefined.
:
: char *m()
: {
: char str[50];
: strcpy(str,"how are you");
: return str;
: }

avatar
p*t
17
Xentar当然是对的,局部变量和全局变量的区别,出了作用范围就会被释放。

【在 t****t 的大作中提到】
: 你看这ID, 你觉得应该信谁?
avatar
a*l
18
hahaha, didn't notice that...

【在 t****t 的大作中提到】
: 你看这ID, 你觉得应该信谁?
avatar
n*e
19
请大家眼睛睁大一点.我说的是下面的:

>>>>: Static char str[50];
而不是:

【在 d****n 的大作中提到】
: this makes the array safe.
: char *m()
: {
: Static char str[50];
: strcpy(str,"how are you");
: return str;
: }
: 或者这样 thread safe
: char * m(){
: char *ret=(char *)malloc(sizeof(char)*20);

avatar
d*n
20
好吧,非要较真。
static in function .那块地方总是你的。
在你把临时内容取走之前,总是安全的。(前提是只有一个thread。多个thread就会有
麻烦。)
用多大,是你自己的事情。
你非要定义长度50, 拷贝100个字符,我也没办法。
用这个定义的最大的好处是--再你知道不会越界的前提下--每次不用分配内存空间。
你不会不知到malloc的时间要所消耗吧?
感兴趣的花自己作个benchmark.看看那个快。
char *func(){ static char * mychar[MAXCHAR]; ;;;; return mychar ;}
char *mallocFun(){chat *ret=(char *)malloc(sizeof(char)*MAXCHAR); return ret
;}
in main
main(){
{
int i;
for(i=0;i<100000;++i)
func();

}
{
int i;
for (i=0;i<100000;++i){
char *tmp=mallocFun();
free(tmp);
}
}
}
还有一点typo抓住不放,有意思么?

【在 n*******e 的大作中提到】
: 请大家眼睛睁大一点.我说的是下面的:
:
: >>>>: Static char str[50];
: 而不是:

avatar
X*r
21
The standard way to do it is to let caller provide space along
with its size. This is both safer and more flexible, at the cost
of slightly more inconvenient to use.

【在 d****n 的大作中提到】
: 好吧,非要较真。
: static in function .那块地方总是你的。
: 在你把临时内容取走之前,总是安全的。(前提是只有一个thread。多个thread就会有
: 麻烦。)
: 用多大,是你自己的事情。
: 你非要定义长度50, 拷贝100个字符,我也没办法。
: 用这个定义的最大的好处是--再你知道不会越界的前提下--每次不用分配内存空间。
: 你不会不知到malloc的时间要所消耗吧?
: 感兴趣的花自己作个benchmark.看看那个快。
: char *func(){ static char * mychar[MAXCHAR]; ;;;; return mychar ;}

avatar
l*a
22
谢谢回复.我的问题是这样的,例如一个文件写了
10 5表示是10*5的矩阵
下面是50个float
读取的时候先getline得到10和5,然后调用我的函数
float **initMat(int m, int n)生成10*5的二维矩阵,返回指针**
这个函数内部大概是:
float **initMat(int m, int n)
{
float **mat = new float*[m];
for (int i=0;i{
m[i] = new float[n];
for (int j=0;jm[i][n] = 0.0;
}

return mat;
}
然后这个返回的数组我整个程序都有用,在程序结束有个专门的free函数
void freeMat(float **mat, int m)
{
for (int i=0;iif(mat!=NULL) delete mat;
mat = NULL;
}
这样有问题吗?多谢了

【在 d****n 的大作中提到】
: 没太明白。
: 你每行都有不同个数的 int?
: 怎么分隔的?
: 如果是text , 用tab 或 ,分隔的。就用getline 写个小东西。
: 得出多少个int。再用new 就搞订了。
: 但是最后要注意garbage collection

avatar
d*n
23
I agree. Glibc and linux source code 都是这么规范的。
但是情况不同,也不要刻舟求剑。
譬如,你有100million 个相同长度51个char。
你会考虑用那个方法呢?
100million个malloc?
还是保证知道最大长度情况下,用static var?
知道别人怎么用的是好的,但是你要考虑自己实际情况。

【在 X****r 的大作中提到】
: The standard way to do it is to let caller provide space along
: with its size. This is both safer and more flexible, at the cost
: of slightly more inconvenient to use.

avatar
d*n
24
没问题,既然你都知道是10 by 5 的matrix.
不过你也可一这么写。
//creation
float *myarr= new float *[m*n];
//deletion
if (myarr!=NULL ) delete [] myarr;
//iteration
int r, c;
for(r=0;rfor(c=0;ccout<//transpose 2D array to 1 dimension
茴字有5种写法,呵呵。见笑了。

【在 l********a 的大作中提到】
: 谢谢回复.我的问题是这样的,例如一个文件写了
: 10 5表示是10*5的矩阵
: 下面是50个float
: 读取的时候先getline得到10和5,然后调用我的函数
: float **initMat(int m, int n)生成10*5的二维矩阵,返回指针**
: 这个函数内部大概是:
: float **initMat(int m, int n)
: {
: float **mat = new float*[m];
: for (int i=0;i
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。