由买买提看人间百态

topics

全部话题 - 话题: 函数调用
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
p*****y
发帖数: 1049
1
来自主题: Programming版 - 一道很奇怪的面试题
题目是这样的 首先给出一个函数 int * getptr() {int * a[8]; return a;}
这个函数显然是错的,看不懂的就不要往下看了,因为下面更麻烦
然后题目让写出正确的形式。这当然没有问题,但是题目又说必须用C,不能用C++,
这也没有问题。但是题目又变态的要求还要在函数里额外提供一个数组,这个数组存储
的是 ID * 指针。其中struct ID 是一个自定义的结构。这个数组的大小通过一个函数
int num()实现,这个函数只能被getptr()调用。
我很困惑,因为一个函数是不能返回两个变量的。这样就必须在argument里面提供
reference,但是注意reference是不可以的,必须用指针来实现,所以我的interface就是
int * getptr(ID** *ptr_array, int * num_of_array);
第二个变量就是提供数组的尺寸。
我突然想到一个很不可思议的方法,就是能不能保留int* getptr()的形式,然后将额外
的数组与int数组合并成一个统一的int数组,当然需要转化 int a[i]=(int) ID_p... 阅读全帖
L***s
发帖数: 1148
2
来自主题: Programming版 - python还是有些傻傻的行为的

这个问题在别处有讨论过
http://www.newsmth.net/bbstcon.php?board=Python&gid=84864
发信人: pulo (普洛米·我们的民族从来不缺乏苦难), 信区: Python
标 题: Re: 关于空list做默认参数的一个疑问
发信站: 水木社区 (Thu Dec 29 04:32:28 2011), 转信
一个函数的默认参数是该函数(对象)的一个属性,存在一个叫func_defaults
的tuple里,而函数(类)本身在def时就实例化了,其func_defaults属性
有可能在多次函数调用过程中改变。
拿楼主的例子来说:
>>> def test1( x=[] ):
... print(type(x))
... x.append(0)
... return x
...
>>> test1.func_defaults
([],)
>>> test1()

[0]
>>> test1.func_defaults
([0],)
>>> test1()

[0... 阅读全帖
r******l
发帖数: 10760
3
我想重写一个library提高它的效率。使用这个library的用户可以重载其中的一个函数
(但是大部分用户应该不会去重载它)。原始实现中,无论用户是否重载该函数,主程
序中都直接去调用它。如果它没被重载过,就直接返回了(因为父类中该函数什么都没
做)。而我的改动中,如果用户重载了该函数,则需要在调用该函数之前先多做一些准
备工作。因为这些准备工作可能很耗时,所以我希望能够判断该函数是否被重载过,不
知道有没有什么方法可以做到?
a****a
发帖数: 5763
4
2011年12月3日,LLVM 3.0正式版发布,完整支持所有ISO C++标准和大部分C++ 0x的新
特性, 这对于一个短短几年的全新项目来说非常不易。
开发者的惊愕
在2011年WWDC(苹果全球开发者大会)的一场与Objective-C相关的讲座上,开发者的
人生观被颠覆了。
作为一个开发者,管理好自己程序所使用的内存是天经地义的事,好比人们在溜狗时必
须清理狗的排泄物一样(美国随处可见“Clean up after your dogs”的标志)。在本
科阶段上C语言的课程时,教授们会向学生反复强调:如果使用malloc函数申请了一块
内存,使用完后必须再使用free函数把申请的内存还给系统——如果不还,会造成“内
存泄漏”的结果。这对于Hello World可能还不算严重,但对于庞大的程序或是长时间
运行的服务器程序,泄内存是致命的。如果没记住,自己还清理了两次,造成的结果则
严重得多——直接导致程序崩溃。
Objective-C有类似malloc/free的对子,叫alloc/dealloc,这种原始的方式如同管理C
内存一样困难。所以Objective-C中的内存管理又增... 阅读全帖
s*****s
发帖数: 1
5
来自主题: Programming版 - Linux Socket编程
什么是Socket
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。
Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式Socket (SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。
Socket建立
为了建立Socket,程序可以调用Socket函数,该函数返回一个类似于文件描述符的句柄。socket函数原型为:
b***i
发帖数: 3043
6
Exception不是给你处理编程错误的。指针非法操作是编程错误,最终会在发行版消失
的,或者变少。而exception是预计要发生的异常。Exception的目的是,在出问题的时
候,无法给出函数返回值的时候,提供一个另外的返回方式和返回值.
比如,计算开方。参数为负,算不出来开方,而函数的返回值是double,怎么办?扔出
一个Exception。这样被最近的catch接到,从而不走正常的返回通道。这种情况下,本
来正常通道就凑不通。这样简化了函数调用都要通过某个参数(指针所指向的结构)判
断一个任务是否完成。本来都要进行if, else if这样。改成try catch 就清晰了。方
便在你可以越级返回,即不在本次调用进行catch,而是在外层catch,比如一个类有很
多子类,就不用在每个子类实现的续函数中catch,而是在呼叫这些虚函数的那个函数
里面catch。
try{
p->virtualfun();
}catch(MyException e){
// no need to implement the catch in different virtualfu... 阅读全帖

发帖数: 1
7
来自主题: Programming版 - 一个C++ 的问题
line 11:int隐式转化成类型A,这里直接调用了A的A(int), 如果把这个构造函数声明
成explicit
explicit A(int n = 0)
那么line 11也不会编译通过。
line 13, 是因为A b();被编译器parse成了一个函数声明,编译时是顺序扫描的,当看
到这个声明时,编译器还没有看到下一行b.Show(), 当他扫描到下一行解析时,发现b.
Show()并不是b的一个函数调用,故而出错。如果你写成b()就不会编译出错。但是当链
接时,因为没有b这个函数的实现,会发生链接错误。
A的构造函数的整数参数虽然有default值,但是A b()会被当成函数声明,写成A b或者
A b(3)就可以。
m****a
发帖数: 2593
8
来自主题: GunsAndGears版 - 王垠的这篇写的不错 (转载)
【 以下文字转载自 Programming 讨论区 】
发信人: mrmaja (麻家), 信区: Programming
标 题: 王垠的这篇写的不错
发信站: BBS 未名空间站 (Mon Feb 3 01:36:03 2014, 美东)
http://www.yinwang.org/blog-cn/2014/01/25/pl-and/
喜欢这段和AK的比较,
程序语言与武器
前段时间 AK-47 的设计者 Kalashnikov 去世的时候,我从一篇文章了解到他设计 AK-
47 的故事,发现 AK 跟我喜欢的程序语言设计有异曲同工之妙。
AK 简单得就像一把锤子。它身上没有太空时代的材料。大多数汽车修理店都有可
以制造出 AK 的工具。
这篇文章首先提到,AK 的高可靠性最主要来自于它的简单,而其实简单也是程序语言
最重要的东西。程序员需要解决的问题一般都挺复杂,如果他们的工具再被设计得复杂
,那么他们大量的脑力就被浪费在解决这语言的问题,而不是真正需要解决的问题了。
Kalashnikov 开始的时候把任何有可能出问题的设计都排除在外了。
与简单的设计背道... 阅读全帖
y**b
发帖数: 10166
9
那就是说还是要清楚调用某个函数的时候需要定义哪个宏,
我想弄的傻瓜化一点,user只需知道调用某个函数就行了。
也许我原来的设计就不好,不然不会出现这种情况。
z****e
发帖数: 2024
10
来自主题: Programming版 - C++ questions
master shifu,
virtual根本就不会影响效率,我的答案是彻底不会影响。
这个问题我的理解是这样的。
其实virtual function,就是把本来程序员要作的事情,也就是基于类型的函数调用,给编译器作了,程序员解放了。但是代价就是有vritual table查询。
可是这并不是代价,因为如果不用多态,我们也要手动进行基于类型的判断(或者类似判断),这个比virtual还浪费。所以,只要是程序设计的时候,要有基于类型的函数调用,那么vritual是最高效的。如果想彻底提高程序效率,就要避免这种函数调用,这是程序设计理念的问题,不是virtual本身的问题。
综上,virtual是解决基于类型的操作的最高效方案。根本不影响效率。
师傅们给说说吧。
m****a
发帖数: 2593
11
来自主题: Programming版 - 王垠的这篇写的不错
http://www.yinwang.org/blog-cn/2014/01/25/pl-and/
喜欢这段和AK的比较,
程序语言与武器
前段时间 AK-47 的设计者 Kalashnikov 去世的时候,我从一篇文章了解到他设计 AK-
47 的故事,发现 AK 跟我喜欢的程序语言设计有异曲同工之妙。
AK 简单得就像一把锤子。它身上没有太空时代的材料。大多数汽车修理店都有可
以制造出 AK 的工具。
这篇文章首先提到,AK 的高可靠性最主要来自于它的简单,而其实简单也是程序语言
最重要的东西。程序员需要解决的问题一般都挺复杂,如果他们的工具再被设计得复杂
,那么他们大量的脑力就被浪费在解决这语言的问题,而不是真正需要解决的问题了。
Kalashnikov 开始的时候把任何有可能出问题的设计都排除在外了。
与简单的设计背道而驰,现在很多程序语言为了赶潮流或者吸引眼球,喜欢标新立异,
喜欢加入很多“特性”,可是这些特性很有可能不但不解决问题,而且会制造问题。绝
大部分程序员都不理解这个道理,所以有些人听说我在设计自己的语言就问我:“它有
什么新特性吗?”我没法回答他们... 阅读全帖
N******K
发帖数: 10202
12
来自主题: Programming版 - c++的一个诡异问题,高手请进
编译器 vs2013 release模式
Tempfunction 计算一个数然后输出 N 控制计算复杂度
我用function pointer :TempfunctionPtr = &Tempfunction
然后比较 直接调用函数Tempfunction 和 通过指针间接调用函数
结果很诡异
N=1000 , Tempfunction_time=1, TempfunctionPtr_time=2;
N=2000 , Tempfunction_time=2, TempfunctionPtr_time=6;
N=4000 , Tempfunction_time=4, TempfunctionPtr_time=11;
N=8000 , Tempfunction_time=8, TempfunctionPtr_time=21;
TempfunctionPtr_time - Tempfunction_time 应该是常数
N并不改变 函数调用的次数
=================
#include
#include
void Tempfunctio... 阅读全帖
c*********e
发帖数: 16335
13
node.js里调用了callback之后,还会回到函数里。比如
function test(item,cb){
if (item == 1) {
cb(1);
}
if (item == 1) {
cb(2);
}
}
test(1,cb);就会2次调用cb函数。
是这样的吗?
b********e
发帖数: 109
14
做论文需要用到复数阶和复数变量的Bessel函数,matlab中没有,Maple中有,
请问可以在Matlab中调用Maple的函数吗?需要安装Maple软件吗?如何调用呢?
不胜感激!
q***z
发帖数: 543
15
来自主题: Computation版 - 如何控制输出变量
请教各位:
一个函数[y1,y2...]=f(x1,x2...),函数的内容是一样的。如果在调用时全写出来太长了
,而且被不同的函数调用时只用到两个y。所以希望调用时可以有所选择.
请大虾赐教,谢谢!!!
b***y
发帖数: 2799
16
来自主题: Programming版 - [合集] 几道面试问题
☆─────────────────────────────────────☆
cookiesweet (apple) 于 (Sun Apr 1 14:18:36 2007) 提到:
1. C 和C++的函数调用方法(calling convention)有什么不同? 从下列角度考虑:
stack frame如何变化和把函数参数push进stack的顺序,stack在函数调用前和进入函
数后的变化,以及register ebp等与stack有关的寄存器的情况。
到底C, C++在这方面有何不同?
在VC中,有_cdel, _stdcall等不同的方式,有谁知道他们有何不同?
我只知道函数参数是从右到左的push入stack, 同时还把函数后下一行代码的地址push
入stack.
请各位大拿给写指教。
2. 给定一个数组with size of N,如何判断是否该数组有重复的数? 如果有,找出他们。
最naive的方法是拿任意一个数和别的所有的数比较,O(n^2),
我知道可以先排序,然后就知道了,需要O(nlgn).
有没有更快的Algorithm ?
好像在MITBBS
x****e
发帖数: 3
17
【 以下文字转载自 EE 讨论区,原文如下 】
发信人: XinZhe (战士), 信区: EE
标 题: [求助]如何加快S函数在Simulink中的运行速度
发信站: Unknown Space - 未名空间 (Tue Jan 25 16:50:07 2005) WWW-POST
我正在Simlink中调试运行一个S函数,基本上就是调用已有的很大的一个多线程仿真程序
ASM(标准C写的,MSVC 6.0编译环境)。如果假设ASM作为可执行文件(e.g.
ASM.exe)在PC(P4 2.8GHz/Windows2000, Matlab 6.5 & 7.0)上运行,所需要的时间为1秒
的话,那么编译成S-函数(e.g. ASM.dll)在Simulink中调用的话,就需要运行20秒的时间

我已经尽可能的对程序进行优化了(如使用Release Build instead of Debug Build,并
尽可能地参考Simulink手册上对於Simulink仿真优化设置的说明),但几乎一点效果都没
有。下面是我的S函数的源程序,请各位给支支招:怎么样才能加快在Simulink中的
w******7
发帖数: 36
18
来自主题: CS版 - JAVA 如何调用现成的dll
各位大虾:
一个模拟软件,有现成的dll,可以用一些函数去操作这个模拟软件(比如修改输入参数等等)。
请问如果我用调用别人写好的这个dll, 应该怎么写呢?
其实就是说,我想用通过java直接调用这个dll,间接调用dll中的函数。
谢谢!!
w******7
发帖数: 36
19
来自主题: Programming版 - JAVA 如何调用现成的dll
各位大虾:
一个模拟软件,有现成的dll,可以用一些函数去操作这个模拟软件(比如修改输
入参数等等)。
请问如果我用调用别人写好的这个dll, 应该怎么写呢?
其实就是说,我想用通过java直接调用这个dll,间接调用dll中的函数。
谢谢!!
w******7
发帖数: 36
20
来自主题: Computation版 - JAVA 如何调用现成的dll
各位大虾:
一个模拟软件,有现成的dll,可以用一些函数去操作这个模拟软件(比如修改输入参数等等)。
请问如果我用调用别人写好的这个dll, 应该怎么写呢?
其实就是说,我想用通过java直接调用这个dll,间接调用dll中的函数。
谢谢!!

c****x
发帖数: 6601
21
发信人: MoneyPort (MoneyPort), 信区: Programming
标 题: 王垠:我为什么不在乎人工智能
发信站: BBS 未名空间站 (Thu Apr 27 18:20:23 2017, 美东)
来源:王垠
www.yinwang.org/blog-cn/2017/04/23/ai
如有好文章投稿,请点击 → 这里了解详情
有人听说我想创业,给我提出了一些“忽悠”的办法。他们说,既然你是程序语言专家
,而现在人工智能(AI)又非常热,那你其实可以搞一个“自动编程系统”,号称可以
自动生成程序,取代程序员的工作,节省许许多多的人力支出,这样就可以趁着“AI
热”拉到投资。
有人甚至把名字都给我想好了,叫“深度程序员”(DeepCoder = Deep Learning +
Coder)。口号是:“有了 DeepCoder,不用 Top Coder!” 还有人给我指出了这方向
最新的,吹得神乎其神的研究,比如微软的 Robust Fill……
我谢谢这些人的关心,然而其实我并不在乎,也不看好人工智能。现在我简单的讲一下
我的看法。
机器一样的心
很多人喜欢鼓吹人工... 阅读全帖
h********n
发帖数: 1671
22
来自主题: Programming版 - inline function是否可以递归?
hide definition是无关的问题,想hide definition的话,连模板都不能用,也不能有
带私有成员的类,那就干脆只用C算了。
.cpp与free function也无关。如果一段code在许多function里会用到,很自然写成一
个在.cpp中的free function,用inline、static、namespace{}都可以。
在编译器还很弱的时代,有的书上讲尽量减少函数调用,尽可能在一个函数里干所有事
,尽可能用宏代替函数调用,这种情况现在基本不存在了。相反,现在为了提高可读性
,最好不要写特别长的函数,最好用inline function(包括使用模板的inline
function)代替宏。

function
M*******t
发帖数: 189
23
来自主题: Programming版 - 王垠:我为什么不在乎人工智能
来源:王垠
www.yinwang.org/blog-cn/2017/04/23/ai
如有好文章投稿,请点击 → 这里了解详情
有人听说我想创业,给我提出了一些“忽悠”的办法。他们说,既然你是程序语言专家
,而现在人工智能(AI)又非常热,那你其实可以搞一个“自动编程系统”,号称可以
自动生成程序,取代程序员的工作,节省许许多多的人力支出,这样就可以趁着“AI
热”拉到投资。
有人甚至把名字都给我想好了,叫“深度程序员”(DeepCoder = Deep Learning +
Coder)。口号是:“有了 DeepCoder,不用 Top Coder!” 还有人给我指出了这方向
最新的,吹得神乎其神的研究,比如微软的 Robust Fill……
我谢谢这些人的关心,然而其实我并不在乎,也不看好人工智能。现在我简单的讲一下
我的看法。
机器一样的心
很多人喜欢鼓吹人工智能,自动车,机器人等技术,然而如果你仔细观察,就会发现这
些人不但不理解人类智能是什么,不理解人工智能有什么局限性,而且这些“AI 狂人
”们的心,已经严重的机械化了。他们或多或少的失去了人性,仿佛忘记了自己是一个
人,... 阅读全帖
a********m
发帖数: 15480
24
来自主题: JobHunting版 - 请问这是什么level的面试题
1. 结果没区别。不确定编译器会不会先查一下类信息。最后反正是指向同一个内存地
址。反过来pb->pd的时候编译器会运行时查类信息,看是不是合法cast再决定结果。
2. 如果v是虚函数,就调用pd版本。如果是普通函数,调用地址是根据当前类决定的,
调用pb版本。


pb
a********m
发帖数: 15480
25
来自主题: JobHunting版 - 请问这是什么level的面试题
1. 结果没区别。不确定编译器会不会先查一下类信息。最后反正是指向同一个内存地
址。反过来pb->pd的时候编译器会运行时查类信息,看是不是合法cast再决定结果。
2. 如果v是虚函数,就调用pd版本。如果是普通函数,调用地址是根据当前类决定的,
调用pb版本。


pb
S*******0
发帖数: 198
26
来自主题: JobHunting版 - 也报一个Bloomberg offer
对,可以在函数内定义一个static vector变量,保存过去10s内函数调用的时间
点,每次调用时,扫描vector,看过去的10s内是否有超过10个记录,并记录本次调用
的时间放入vector
w**h
发帖数: 8
27
来自主题: Database版 - 各位大虾,紧急求助!!!
本人在vfp中用api函数shellexecute()调用网页,形成.exe文件运行顺利,可形成可安
装文件后运行出错:“安装程序出错827”
如果不调用网页,一切正常。
该函数调用.doc文件就不会出错!!!!
请教vfp高手,为什么会这样?
y********l
发帖数: 3970
28
外行又来问问题了。
VBA功能弱,但架不住它和它所依附的OFFICE的方便。话说VBA能不能调用其他语言写的
函数?比如最近用VBA抓数据时IE automation特别不好使。用C#吧,手上的数据的格式
乱得很,以至于我时不时要手动去Excel里编辑这些数据。有没有办法用VBA调用C#写的
一个替代IE automation的子程序?谢谢。
b********e
发帖数: 109
29
来自主题: Computation版 - 求救:Matlab中调用maple出错
因为要使用复数阶的bessel函数,所以在matlab中需要调用maple,
有双重循环需要反复调用maple中的bessel函数,问题发生在循环计算达到一定次数的时
候,
错误信息如下:
Digits := 32
??? Error using ==> maple
Error, integer too large in context
Error in ==> C:\MATLAB6p5\toolbox\symbolic\digits.m
On line 16 ==> maple(['Digits := ', d]);
Error in ==> C:\MATLAB6p5\toolbox\symbolic\mfun.m
On line 131 ==> digits(currd);
Error in ==> D:\Users\Research\thesiswork\N-layer Circumf Disp
Curv\Circumferential Wave for Viscoelastic Layer\mpbessely.m
On line 5 ==> mpby=mfu
w*******t
发帖数: 62
30
来自主题: JobHunting版 - C++ template 指定T是某类的子类
我开始是这么想的,就直接写T。后来想到子类的虚函数调用,一下子糊涂了。
其实直接写T,然后静态实例化时,子类类型确定,会调用其相应的函数,包括虚函数。
多谢楼上各位!
s***n
发帖数: 373
31
来自主题: Apple版 - object c若问
函数调用叫send message to obj
可是如果一个函数不属于任何interface,just a function
(void) foo
{
NSLog(@"hello");
}
如何调用这个函数呢?
3x
L*******r
发帖数: 1011
32
Google就是好用。呵呵,以后见面就说:同学,今天你google没有? :)
注:我自己没有这么做过,我的系统只要集成原来的COM系统.
http://www.aspx.cn/comm/dotnetbbs/Showtopic.aspx?Forum_ID=6&Id=5284
指针类型参数传递:
在Windows API函数调用时,大部分函数采用指针传递参数,对一个结构变量指针,我
们除了使用上面的类和结构方法传递参数之外,我们有时还可以采用数组传递参数。
下面这个函数通过调用GetUserName获得用户名
BOOL GetUserName(
LPTSTR lpBuffer, // 用户名缓冲区
LPDWORD nSize // 存放缓冲区大小的地址指针
);

[DllImport("Advapi32.dll",
EntryPoint="GetComputerName",
ExactSpelling=false,
SetLastError=true)]
static extern bool GetComputerName (
[MarshalAs(Unmana
c******a
发帖数: 45
33
来自主题: DotNet版 - C#环境下调用C++函数的问题。
在C++环境里写的函数,编译成dll后准备让C#程序调用。问题是这个函数的输入变量是
float**类型的,这种情况该如何处理?Thanks a lot!
l*****c
发帖数: 1153
34
来自主题: Programming版 - Linux Socket编程
原创加精,不是原创要注明出处

以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理
解Socket接口。
输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是一种特殊的I/O,
Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),
该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该
Socket实现的。常用的Socket类型有两种:流式Socket (SOCK_STREAM)和数据报式
Socket(SOCK_DGRAM)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应
用;数据报式Socket是一种无连接的Socket,对应于无连: 接的UDP服务应用。
符的句柄。socket函数原型为:
议族);type参数指定socket的类型: SOCK_STREAM 或SOCK_DGRAM,Socket接口还定
义了原始Socket(SOCK_RAW),允许程序使用低层协议;protocol通常赋值 "0"。
Socket()调用返回一
z**k
发帖数: 629
35
来自主题: Programming版 - C++子类中调用父类指针的问题
编译说p--〉foo不能被调用的原因是B类对象的成员函数无法存取A类对象的protected
类成员变量.
书上说改为B *p就可以了, 原因是B类对象的成员函数当然可以存取B类对象的成员变量
,尽管那个成员变量是其继承的(必须是public继承且修饰为public或protected).
另外似乎改为A &p也行, 这个似乎不行,不过没有试过.
最后, 这个 compare函数设计不合理,楼主可以讲讲它的设计用途.
l********a
发帖数: 1154
36
来自主题: Programming版 - vector的析构问题
不好意思,原class是个非常大的类,为了说问题简单,
我手打的时候,把带参数的构造函数那句写错了,应该是
this->parent = a;
不是this->children->parent = a;
下面的测试用例复制可以编译运行的
#include
#include
using namespace std;
#include
class A
{
public:
int num;
A *parent;
vector children;
// 无参数调用
A(void)
{
this->num = 3;
this->parent = 0;
for (int i=0;inum;++i)
this->children.push_back(new A(this,this->num-1));
}
// 子构造函数,被上面的无参函数调用
A(A *a,int n)
...
阅读全帖
b***i
发帖数: 3043
37
假设单片机有16个字节的堆栈,然后函数f, g, h, k,i互相调用,假设调用了17次,那
么返回的时候,
最开始的f地址被最后的函数地址覆盖,返回的时候不就回到错误的地方了?
s********n
发帖数: 5
38
来自主题: Computation版 - 询问一个Matlab在C#调用的问题
我的编程环境是VS 2008,需要做一个数据拟合,因此我用Matlab编写了一个小函数(
MyGasFit),调用了stat工具箱的非线性拟合函数nlinfit,经过简单的测试,该函数在
Matlab下面运行正常,在C#的测试小程序中也正常。嵌入project以后遇到以下的问题,
由于数据本身可能不一定有唯一解,因此程序部分数据提示warning,现在将最后部分的
输出铁在下面(warning 部分多次出现但是不影响结果)
Warning: Rank deficient, rank = 0, tol = 0.0000e+000.
> In nlinfit>LMfit at 296
In nlinfit at 168
In MyGasFit at 3
Warning: The Jacobian at the solution is ill-conditioned, and some
model parameters may not be estimated well (they are not identifiable).
Use caution in making pre
s****i
发帖数: 216
39
来自主题: Mathematics版 - 如何从c++调用mathematica函数 (转载)
【 以下文字转载自 Software 讨论区 】
发信人: shatai (shatai88), 信区: Software
标 题: 如何从c++调用mathematica函数
发信站: BBS 未名空间站 (Mon May 23 22:55:22 2011, 美东)
看了mathematica的文档, call mathematica from c++一节, 还是没说清楚, 比如
我要积
分 Integrate[x+tt {x,0,1}],tt 是一个常数, 我怎么才能把它传入mathematica,
是用
MLPutInteger 函数吗, 可是这样只是把它输进engine里面, 怎样起到赋值的效果?
J*****n
发帖数: 4859
40

这个我知道啊,不过问题是,我这里要调用有default para的函数,用functor怎么实
现呢?
谢谢。
s********n
发帖数: 5
41
来自主题: Statistics版 - 询问一个C#中调用Matlab的问题
我的编程环境是VS 2008,需要做一个数据拟合,因此我用Matlab编写了一个小函数(
MyGasFit),调用了stat工具箱的非线性拟合函数nlinfit,经过简单的测试,该函数在
Matlab下面运行正常,在C#的测试小程序中也正常。嵌入project以后遇到以下的问题,
由于数据本身可能不一定有唯一解,因此程序部分数据提示warning,现在将最后部分的
输出铁在下面(warning 部分多次出现但是不影响结果)
Warning: Rank deficient, rank = 0, tol = 0.0000e+000.
> In nlinfit>LMfit at 296
In nlinfit at 168
In MyGasFit at 3
Warning: The Jacobian at the solution is ill-conditioned, and some
model parameters may not be estimated well (they are not identifiable).
Use caution in making pre
IP
发帖数: 106
42
小弟现在需要在FreeBSD内核(模块)函数内,要用到一个随机流函数(即每次调用随机流
函数,得到的数服从某种统计分布,比如负指数分布,几何分布,或者Pareto分布). 我
的理解,如果是在用户空间里面实现一个如此的随机流函数比较容易,利用C带的均匀分
布随机数产生器,再加上math.h里的求对数或者求幂函数log(), 和pow(),就可以产生
上述分布.但是如果在内核里面自己实现这样随机流函数(内核好像没有现成的函数),我
遇到两个麻烦,第一, math.h 和 sys/systm.h里面都定义了"log", 编译有冲
突,还有网上有人说数学库链接会有问题.第二, 能不能尽量避免在内核使用浮点数.

请教一下大家,有没有什么建议,谢谢!
l********8
发帖数: 91
43
static key word: what is static in front of a function declaration? what is
static key word for a variable inside a function definition? what is static
keyword for a var outside a function definition.
对于变量而言,static的变量是放在静态存储区的(跟全局变量放在一起的),但是不
具备全局可见性,也就是只能在申明的函数中才能看到。
对于函数而言,static申明的函数没有全局可见性。
what is the difference pass by value or pass by reference. when to use them?
一般通过变量以及宏定义来进行数据的传递是为了方便调试。因为在调试时候,一个经
常用到的数据如果要进行修改的话只需要在宏定义或者变量申明的地方改一下就可以了。
what is const and volatile keywords for?
关键词cons... 阅读全帖
l********8
发帖数: 91
44
static key word: what is static in front of a function declaration? what is
static key word for a variable inside a function definition? what is static
keyword for a var outside a function definition.
对于变量而言,static的变量是放在静态存储区的(跟全局变量放在一起的),但是不
具备全局可见性,也就是只能在申明的函数中才能看到。
对于函数而言,static申明的函数没有全局可见性。
what is the difference pass by value or pass by reference. when to use them?
一般通过变量以及宏定义来进行数据的传递是为了方便调试。因为在调试时候,一个经
常用到的数据如果要进行修改的话只需要在宏定义或者变量申明的地方改一下就可以了。
what is const and volatile keywords for?
关键词cons... 阅读全帖
a****n
发帖数: 1887
45
来自主题: JobHunting版 - 关于判断stack grows up or down那道题
这个stack 是指函数调用的堆栈, 当然需要用函数确定了
这个题本身就是问被调函数和主调函数的栈的顺序
每一个frame里面放的都是当前的函数需要的局部变量和环境参数,具体一个函数内的
局部变量的顺序编译器相关
t****a
发帖数: 1212
46
这是多年前的一篇牛文。一家之言,仅供参考。
通天塔导游
(译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座
通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的语言,这个塔就
没能造起来。 巴别塔不建自毁,与其说上帝的分化将人类的语言复杂化,不如说是人
类自身心灵和谐不再的分崩离析。之所以后来有了翻译,不仅是为了加强人类之间的交
流,更寄达了一种愿望,希望能以此消除人际的隔阂,获求来自心灵的和谐及慰藉。真
正的译者,把握血脉,抚平创痕,通传天籁,开启心门。)
这是我写的旋风式的编程语言简介—我本来为亚马逊开发者杂志本月的期刊写的,但是
发现我写的东西没法…见人。
首先,我偶尔一不小心口出脏话,或者对上帝不恭的话,所以对很官方很正式的亚马逊
上发表是不合适的; 所以我就把它塞到我的博客里了,我的博客反正没人看的。除了你
以外。是的,只有你会看,你好啊。
其次,这是一项进行中的工程,现在只是东打一耙西搞一下,还没有精加工过的。又一
个把它写到博客里的很大的理由。不需要很好,或很完整。就是我今天想说的一些话。
请随便!
我的旋风式简介会讲C,C++,Lis... 阅读全帖
w****h
发帖数: 212
47
【 以下文字转载自 EE 讨论区 】
发信人: wmbyhh (wmbyhh), 信区: EE
标 题: 问一个Matlab编程的问题,函数如何有可变输入参数?
发信站: BBS 未名空间站 (Mon Feb 18 19:59:40 2008)
请问,一个函数,其参数不确定,可能2个,可能多个,但同一类型。
如何设置生成这样的参数可变得函数?
函数中又如何知道有多少参数?
如果是C编程的话,这根本不是问题;但Matlab如何调用这种输入参数可变的函数?
多谢
w***g
发帖数: 5958
48
这个问题之所以会发生,本质上是因为编译器设计的时候决定了堆栈地址是往下长的。
函数运行的时候堆栈结构是像下面这样的:
高地址
[返回地址]
[局部变量A]
[局部变量B]
[局部变量C]
....
....
[栈顶]
低地址
调用函数的时候就往栈顶压入返回地址,然后再压入局部变量,等函数结束的时候取出
返回地址,然后把栈顶调整到函数未开始时的地址。
如果局部变量B是一个数组,那么你让数组越界(buffer overflow)后就会把高地址存的
返回地址覆盖掉,然后函数返回的时候就会跳到一个随机的地方了。实际情况往往比这
个复杂的多,比如C/C++很少会把buffer分配在堆栈(stack)上,而是一般都分配在堆(
heap)上。这时候数组越界能越到堆栈上的返回地址的可能性就会减少,所以越界就得
越的相当多才行。对于古老的系统,甚至可以越界到指令内存,用恶意指令把程序本身
都覆盖了。
q*c
发帖数: 9453
49
这个就很明显~ 不对
a.name() 函数内部生成一个对象,对象的饮用返回前拷贝进临时变量。然后函数内部
那个对象饮引用丢失。 这个临时变量在等号左面, 然后被赋值为 abc , 导致他本身
的引用丢失, 然后新得到的 abc 也立刻丢失。
这样函数内部产生的对象丢失,临时对象丢失,abc 赋值的对象丢失。
这样到底要干啥?
我猜测是想改变函数内部某个全局变量的状态, 但是这本身就不是好主义。
或者是要重新定义函数?
z****e
发帖数: 54598
50
来自主题: Programming版 - go几天的一些感受
作为论据,我找到了中文的翻译,但是那个youtub链接失效了
Go语言之父谈Go:大道至简
时间:2012-07-05 15:40 作者:王然
导读:这篇文章是Google首席工程师、Go语言之父Rob Pike自己整理的6月21日在旧金
山给Go SF的演讲稿。Rob提到:Go语言本是以C为原型,以C++为目标设计,但最终却大
相径庭。值得一提的是,这3门语言都曾当选TIOBE年度语言。
几个礼拜之前我被问到:“对于Go语言,最令你惊讶的是什么?”当时我就明确地给出
了答案:“虽然我希望C++程序员能够使用Go作为替代拼,但实际上大部分Go程序员都
是从Python和Ruby转过来的,其中却少有C++程序员。”
我、Ken以及Robert都曾是C++程序员,在我们编写软件时觉得应该设计一门更适合解决
这个问题的编程语言。奇怪的是,其他程序员似乎却不关心。
今天我将说说是什么让我们决定创造Go语言的,及其出乎意料的结果。这里我谈的更多
的会是Go而不是C++,所以即使你不懂C++也没关系。
主旨可以简单地总结为:你更同意Less is more还是Less is less?
这里有一个... 阅读全帖
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)