s*******e 发帖数: 664 | 1 ☆─────────────────────────────────────☆
ttgg (暂时没有昵称) 于 (Fri Jun 26 17:02:17 2009, 美东) 提到:
请教如下C++代码(左边的数字是行号)
为了使用polymorphism的动态榜定
基类函数被定义成virtual
然后子类里不同的实现
这个我能明白
可是问题是
在有些例子里
子类的对应函数同样被加上了virtual关键字,
请问这是为什么?
我看了网上资料
如果基类里有virtual函数
那么这个类的object就会包含virtual table
而它的所有子类obj也自动包含v-table
所以为什么还要加上virtual修饰呢?
01.class Base
02.{
03.public:
04. virtual void function1() {};
05. virtual void function2() {};
06.};
07.
08.class D1: public Base
09.{
10.public:
11. virtual void function1( |
|
j*p 发帖数: 115 | 2 I found this on the jobhunting board where someone posted his/her interview
process...
第三轮,又一个senior,请问什是多态?我答曰:其概念加C++实现的例子,虚函数若干
,此人追问什么是虚函数,我答曰,Vpr,Vt,等等。此人继续追问,解释vpr,vt的细
节实现,我努力解释。他还算满意,在问,什么是static,class里的static成员函数
和成员变量如何工作,我继续努力解释。他长叹了一口气,说:根据你以上解释,可不
可以有 static virtual function这个功能。我那个吐啊。。。我说这个不行的,一个
静态绑定,一个动态绑定,怎么玩。他说,这个可以玩,你看。。。扒拉扒拉(他开始
解释)。我真是觉得很无
语,难到我的那些解释不管用么?算了,看你是面试官,不计较了,我招了,我说这个
可以有。面试官再长叹一口气:这个真没有。我日啊。我问为什么,他说:这个就是没有
。然后继续一道,singleton pattern的编程题。
haha |
|
h********n 发帖数: 1671 | 3 这个例子中,模板类B中引用了模板类A的模板函数f(),但是gcc无法识别这个用法。
template< typename T >
struct A
{
template< typename U >
int f (){ return 0; }
};
template< typename T >
struct B
{
A< T > a; // error
//A a; // ok
int g (){ return a.f< char >(); }
};
int main()
{
B< int > b;
return b.g();
}
U:\tmp\test.cpp: In member function 'int B::g()':
U:\tmp\test.cpp:15:31: error: expected primary-expression before 'char'
U:\tmp\test.cpp:15:31: error: expected ';' before ... 阅读全帖 |
|
h********n 发帖数: 1671 | 4
这已经是很“现代”的观念了。过去对可读性和可维护性没有现在这样重视,反倒是鼓励许多“技巧”。现在看这些“技巧”有些已经失效,因为软硬件彻底改变了。有些虽然还有效但并不提倡,因为可读性和可维护性差。
正是因为不同时代的观念不一样,所以才不要死守一些“原则”。关于可读性也有许多原则在改变,过去显示器最多显示80列,现在宽得多;过去关键字两边要留空格便于识别,现在几乎所有编辑器都支持语法高亮;过去提倡匈牙利命名,现在不提倡;过去提倡使用STL algorithm简化函数体,把实际的操作写在函数外,现在又推出在函数内嵌入lambda function。虽然都是为了提高可读性,但是不同时代的原则是不一样的。 |
|
l********a 发帖数: 1154 | 5 我接受一个double arr[],经过运算,输出一个double,是objective function的值.
多谢几位.
fakeshawn朋友回复的这个模板我没大看明白
这样输入,c++会认为func是个函数吗?如果这个函数不存在呢?
调用的办法是: double obj = objectFunc(testObjFunc);
这样对吗?如果已经有一个函数定义为 double testObjFunc(...);
可是x[]参数怎么传递进去? |
|
l********a 发帖数: 1154 | 6 非常感谢,用map将string和函数指针对应起来的确是我最想实现的东西.之前对函数指
针不大理解.看看好点儿了.现在去写代码测试,如果map["key"]返回NULL就是该字符串
对应的函数没有定义吧 |
|
f*******n 发帖数: 12623 | 7 lambda是匿名函数,跟函数一样,但是不需要分开定义和用。还有,python的lambda里
面只可以是一个expression;如果要做更复杂的东西,那就用一般的函数好了。 |
|
w******w 发帖数: 126 | 8 有时候也是写代码的人图方便 直接用class name 当作 namespace 来用.
懒着call 一个函数after 创建一个obj. Singleton 是用static 函数 跟 static 变量
的一个实际应用.
^_^ |
|
|
k*****u 发帖数: 1688 | 9 比如用dict来存储一个tree,对tree的每个子tree应用同样的函数,进行递归运算
有没有什么好的资料推荐一下,谢谢? |
|
b*****d 发帖数: 7166 | 10 在VC里有一个project,里面是很多c++程序,包括.h和.cpp文件。 里面定义了一些函
数。
现在要在Python里调用这些函数。
有什么办法可以比较简单的(不用自己写很多wrapper)调用这些现成的函数?
最好是在windows里做。因为我们在Windows上工作。试过boost.python,但是
没能成功安装。boost.python上的Manuel太旧了,已经驴唇不对马嘴。
我在linux上试了一下ctypes。自己写了几个简单的c++程序。发现用python调用还可以
。但是用Ipython notebook时有些问题。比如一个void函数,里面有个cout<
number<
显示不出double,而是个很大的整数!但是在python里就没有这个问题。怎么修改?
实在不行就copy到linux上工作,但是不想做太多修改。
有什么好的建议? |
|
u********s 发帖数: 1047 | 11 今天上班改了一个函数,最后写了100多行,这算不算不太好的编程习惯,应该把这个
函数分开。不过总体上这个函数是做一件事,分出来也不能重复使用。请教一下大家 |
|
d******c 发帖数: 2407 | 12 纯函数有很多好处,但是现实世界里需要side effect,需要不纯才能做事情。
不应该追求纯,而是能纯函数的地方尽量纯函数,把side effect限制在一定范围内。
Haskell就是太追求纯,我看clojure没这个问题。
redux可能受elm启发,这方面elm也许做的更好一点,不过我不了解细节。 |
|
h*i 发帖数: 3446 | 13 函数式编程本来就是用来追求更高层的抽象,更面向应用的,为什么要用函数式语言自
己实现这些数据结构?
常用数据结构应该是在语言层面提供的功能。下面是如何实现的,应用程序员不用管那
么多。同样,矩阵操作,这些都应该用标准的库,或是硬件厂商提供的库来做。
函数式编程是在底层库基础上提供的方便应用编程的一种用户界面而已。 |
|
m***u 发帖数: 88 | 14 大家好如何用 mathematica 画出分段函数,在一个整区间。
我用show 命令,但是效果不好。比如说-1到0一个函数,0到1另一个函数。我定义前者
为f1图,后者为f2图,show两个。不行。
多谢了
我的邮箱是 d*****[email protected] |
|
s**********p 发帖数: 24 | 15 初学者请教一个Matlab积分函数的使用问题:
x =[12, 23, 45, 67, 45] {这里是一维数组x(1), x(2)...}
H =100;
mgh = quad(@(z)lightet, -H, 0, [], [], x)
其中 是lightet一个子函数:
function lightet(z, x);
a1=.5; a2=26.5;
I0=118.6;
k=a1+a2*(x(1)+x(2));
y=I0*exp(-k*z)
end
就是想以z为变量(-h -> 0)去积分 y = I0*exp(-k*(z))
运行积分那一行(mgh)结果老是出现: "too many input arguments"
请问matlab高手,这是怎么回事?怎么改?
Thanx! |
|
d*******2 发帖数: 340 | 16 通过函数传递数组会让计算速度下降吗?我写的程序通过函数传递4个数组,我们组另
外一个人写的好像函数后面的括号里啥也没有。是不是我的写法太笨了?先谢了! |
|
r**e 发帖数: 339 | 17 我在做一个吸附的问题,里面有各种平衡条件(平衡系数),有的数据点是(pH,加入酸碱量)
F(Ph,加入酸碱量)这个隐函数是由一堆平衡条件和物质守恒得到的方程组决定的. 而这
个方程组是没有解析解的. 很头疼不知道怎么拟合相应的系数(及平衡常数).
如果只是一个隐函数,我知道怎么办.但是现在是一个方程组导致的隐函数,没有任何形
式. (方程组里有其他变量,如果能解出,是应该被消掉的)
不知道我应该用到什么知识 ,-- 理论的方法和数字的软件等
Thanks a lot. |
|
w****a 发帖数: 155 | 18 关于需求函数:
对于一个商品或者服务, 它的需求是质量和价格的函数。 一般是如何确定具体的函
数形式的,通过数据模拟还是经验函数。
有经典文献吗?谢谢。 |
|
c******k 发帖数: 1140 | 19 请见图,想找个合适的函数拟合那条蓝线。它特点是大部分是线性,也就是k
部分。蓝线唯一的区别在顶点处与绿线有小小分离,在k=pi/d时,等于Omega-。而且蓝
线在此点的导数也为零。
尝试了用多项式拟合,不太理想,请出出主意,还有什么函数或者组合函数拟合得好一
些?多谢! |
|
c******k 发帖数: 1140 | 20 你提供的这个组合函数,我简单画了个图,随便选了个合适的a.b,发现样子极象我要
的curve.已经很好了,但是我进一步尝试解出a, b的表达式 (用我上图中我提供的那些
参数,比如d,Wo, W-.),就完美了,所以
k=pi/d, y=W-
k=0, y=0
我用matlab的solve函数去符号计算这两个方程组,结果matlab报错,算不出。
这样a,b就没有表达式,只能fit. 问题是上图中的curve也是理论曲线,实验是测不出
来的。我们能测的就是那些参数,比如d,Wo, W-.但是根据这三个参数,我们也画不出
这个曲线,因为并不知道定点在什么地方拐弯。这样a, b 也无法fit,这个数学理论模
型也失去意义。
不过不管怎样,你能提供这个函数已经很牛了。。。 |
|
s**d 发帖数: 148 | 21 【 以下文字转载自 Statistics 讨论区 】
发信人: suod (suod), 信区: Statistics
标 题: 各种平滑函数评价?
发信站: BBS 未名空间站 (Sat Aug 10 16:19:09 2013, 美东)
对时间序列,采用不同的线性平滑函数,比如Moving average, loess, Kalman, etc。
是否有系统的方法对这些不同的函数的效果进行评价?
谢谢。 |
|
z**e 发帖数: 43 | 22 我们都知道等流函数就是流线, 等流函数线可以用Matlab or Fluent 软件画出来.
但是怎样计算某一块循环区(封闭的等流函数线)的面积, 或占整个流场的比例?
有没有比较简便的方法?
Thanks for your attention and time! |
|
x******g 发帖数: 318 | 23 上面虽然我给出了初等函数的定义,但是从严格性上来讲还是不够的
比如你这里给出f的定义域的问题,我个人认为这个初等函数的生成过程
不能包含极限过程(比如这里分母上有|x-a|那么定义域也就要把a点
抛掉) |
|
T*******x 发帖数: 8565 | 24
很好啊。用这个方法应该也可以证明折线是初等函数。
不过我有点糊涂了:f(x)=x^(1/2)这个函数是怎么定义的?
它是well defined吧? |
|
x******g 发帖数: 318 | 25 这里讨论的函数都是实函数,而x^(1/2)(x>=0)是有良好定义的 |
|
x*****d 发帖数: 427 | 26 实变函数论一般是指Lebesgue积分理论,是实分析的基础;
实分析泛指对实变量函数空间的研究;
泛函分析研究一般具有代数和拓扑结构的抽象空间,
而各种实变函数空间是泛函分析的典型实例 |
|
m***s 发帖数: 105 | 27 Weierstrass 椭圆函数和Jacobi椭圆函数有什么关系?
谢谢! |
|
w****j 发帖数: 237 | 28 想请教各位一个简单的矩阵函数问题:
一个 n-by-n 矩阵,
其本征值(eigen value)为 e1,e2,...,en,
本征量矩阵E=diag(e1,e2,...,2n),
本征矢量矩阵为 T
A=T*E*T^(-1)
一个标量函数f(x),例如 exp(x)
那矩阵函数 f(A) 是不是等于
如果本征值不同:
f(A)=T*f(E)*T^(-1)=T*diag(f(e1),f(e2),...,f(en))*T^(-1)
如果有本征值相同:
f(a)=T*[f(e1),f'(e1)/1!,f''(e1)/2!,....;0,f(e1),...]*T^(-1)
好像隐隐约约记得是这样定义的,手头没有工具书,现谢谢各位了 |
|
r****o 发帖数: 1950 | 29 假定f(x), g(x)都是concave函数且连续。
那么f(x)+g(x)和f(x)-g(x)还是concave函数且连续吗?
是不是f(x)+g(x)是这样,
而f(x)-g(x)不一定? |
|
r****o 发帖数: 1950 | 30 假定函数f(x1,x2),其定义域为a<=x1<=x2<=b,如果x2固定,那么x1在a和x2之间变化。
假定x1在x1*处,f取得最大值f*,那么x1*和f*都是x2的函数。假定当x2=x2**时候,f*
在x1**处取得最大值f**。那么能不能说f**就是f(x1,x2)的全局最大值呢?
也就是说,x1=x1**,x2=x2**,f(x1,x2)取得全局最大值f**。
这种说法对吗?
如果对,能不能推广到下列k变量的情况。
假定f(x_1,x_2,...,x_k)在其定义域内处处连续。其定义域为a<=x_1<=x_2<=...<=x_k<
=b,其中a,b为常数。
现在假定除x_i外,其他k-1个变量都固定,那么x_i在x_(i-1)和x_(i+1)中变化,假定x
_i在其中某处x_i*时,f取得极大值f*。可知x_i*和f*都是(x_1,x_2,...,x_(i-1),x_(
i+1),...,x_k)的函数。当x_1=x_1**,x_2=x_2**,...,x_(i-1)=x_(i-1)**,x_(i+1)=x_
(i+1)**,...,x_k=x_k**时候,f*在x_i** |
|
m*1 发帖数: 5 | 31 【 以下文字转载自 Engineering 讨论区 】
发信人: m81 (好好的干活), 信区: Engineering
标 题: 问一个关于函数拟合的问题
发信站: BBS 未名空间站 (Sun Nov 18 13:25:13 2007)
===问题是===
先考虑二维情况,已知一系列点(x1,y1),(x2,y2),...(xn,yn),但是不知道他们背后的
函数是什么。如何在某种误差限度内,找到一种带宽比较小的函数较好地拟合这些点。
所谓带宽较小,举例就是,(1,4) (3,-2) (4,10) 可以找到穿过这三个点的
曲线很多,希望找到穿过y=0坐标轴次数较少的解答。
=========
比较急,在线等,感谢先 :) |
|
n****n 发帖数: 101 | 32 连续但非处处可导的函数,能否用MGF求解N个随机变量之和的密度分布函数?
必须是连续处处可微(导)的函数,才能使用MGF求解吗 |
|
a******5 发帖数: 313 | 33 设 x, 密度函数是 p(x); y=x
那么, F(x
这样 F 是x,y联合分布函数,那么F的密度函数就是 x,y的联合密度, 对不?
现在问题变为这样:
已知 x,y 和联合密度 f(x,y); z=x+y, z的密度 g(z),可以有卷积得到
求,条件概率 f(x,y|z=x+y)?
谢谢! |
|
n****g 发帖数: 150 | 34 请大家帮帮我,问题如下:
一个二元函数 f(x,y);
我先对f(x,y)作关于x变量的二次偏微分,d^2f/dx^2,之后再对y变量求定积分,
得到函数g(x);
相反如果先做y变量的定积分,再对x二次微商,得到函数h(x);
我的问题是g(x)和h(x)是不是应该一样的?
谢谢大家,不知道问题问清楚没? |
|
g****t 发帖数: 31659 | 35 这个问题我在physics回答过你了吧?
最常见的思路是把A(x)按照一组正交函数基展开。
假定展开为A(x)=b1P1(x)+b2P2(x)+...
然后对P1(x),P2(x),...积分即可。
因为定义域是无穷到零。可以使用Laguerre函数作为基。
另外一个办法,是做一个 无穷到零 这个区间到 [0 Pi)之间的映射,
然后用Fourier级数展开。后者的优势在于,系数b1,b2,..可以用FFT快速计算。
现在遇到一个矩阵函数的指数积分,从来就没有见过的情况,不知道该怎么办,,
A(x)=| x 2x | 然后对x求exp{A(x)}从负无穷到0的积分,
|2x 3x^2|
以前只知道指数项是Ax的情形(其中A是常数矩阵),现在这个情况,我是不清楚具体
怎么算, 特地请教大家。
另外如果A是正定常数矩阵,是不是可以有∫exp{Ax}dx(负无穷到0)=1/A,就是把A当成
一个数,完全类别通常的指数积分来算?
谢谢大家 |
|
f*********g 发帖数: 632 | 36 请问代数方程的解是否可用自守函数或者fuchsian function表示?
5次以及以下的代数方程可以用方程的系数加减乘除开方和椭圆函数表示出来。高次方
程是否可用用方程的系数加减乘除开方和自守函数表示?也就是高次方程是否有类似结
果?
麻烦告知有关文献
谢谢 |
|
b*******i 发帖数: 548 | 37 6次方程解起来应该和5次的没有什么区别。
7次方程的解是Hilbert的第13问题,Arnold证明一般7次方程可以用2变量函数解,但我
不sure是否是自首函数。
如果反过来问,自守函数的特殊值之间,什么时候满足代数方程,被研究得很多。
19世纪Klein那时候就已经知道modular form在CM point的值满足modular equation。
至于现在,经过Shimura等等无数人的工作,早已经天翻地覆、面目全非、极端抽象和
啰嗦了。 |
|
f*********g 发帖数: 632 | 38 根据我最近追踪查阅的文献,的确,高次方程的解可以用自守函数表示出来,而且是可
以用自守函数的特例---模函数表示出来。问题已解决。 |
|
h*******r 发帖数: 1083 | 39 哪里有rienmann theta函数的公式表呢?就好像三角函数,有sin(a+b)=...这样的公式
,我想多知道一些关于riemann theta函数的。wiki上没找到,一些讲riemann面之类的
教科书上也没有。
我在研究中发现了一些theta函数恒等式。我不是专门搞这个的,如果想自己证明这些
恒等式,有难度。我想,应该先查一下公式表,可能套一下公式就成了。 |
|
b****e 发帖数: 906 | 40
.
be related to some known complete basis.
非常感谢您的回复。我在尝试着找能成为完备基的基本特征,所以考虑的是普遍的函数
,并没有特定的函数形式。看起来似乎这种完备性应该不难实现,只是难以证明吧,如
果采用有限空间的矢量分解,一般的矢量总是会和矢量基矢有重叠的,那种出现
collinear的情况总还是特例。
从几何上看,似乎一维空间的每一个地方都有那个连续函数族中的某一个加以特别的强
调(例如一堆的高斯,每个高斯出现的最大值的位置都不同),那么很有可能这个连续
函数族就是一维空间的完备基,只是怎么证明和数学表述呢?
同时以上说的情况太片面,譬如Fourier基矢就是在每个地方基本上相同大小,只是疏
密不同。那么,怎么将数学表述包括尽可能多的情况呢?
domain you want to prove completeness. Also, you have to specify the
functional space; for example, it only covers all the continuous functions,
or o |
|
m*********s 发帖数: 368 | 41 trefethen 的 主页上有一本逼近论的书 可以去看一眼
这玩意就是先插值成一个函数(基函数可以是三角函数或者多项式等)
然后对这个好的函数求导 |
|
r**e 发帖数: 339 | 42 我在做一个吸附的问题,里面有各种平衡条件(平衡系数),有的数据点是(pH,加入酸碱量)
F(Ph,加入酸碱量)这个隐函数是由一堆平衡条件和物质守恒得到的方程组决定的. 而这
个方程组是没有解析解的. 很头疼不知道怎么拟合相应的系数(及平衡常数).
如果只是一个隐函数,我知道怎么办.但是现在是一个方程组导致的隐函数,没有任何形
式. (方程组里有其他变量,如果能解出,是应该被消掉的)
不知道我应该用到什么知识 ,-- 理论的方法和数字的软件等
Thanks a lot. |
|
f*******i 发帖数: 1049 | 43 zeta函数在 虚部<1的那个半平面不能直接用原始的级数定义了
最简单的解释是 zeta函数满足函数方程 \zeta(s) = 2^s\pi^{s-1}\sin\left(\frac{\
pi s}{2}\right)\Gamma(1-s)\zeta(1-s)
如果s是负偶数,sin 那项等于0... |
|
d*e 发帖数: 843 | 44 给定任意的一个单调增函数满足
g(t)<=t/2 for all t
g'(t)<1 for all t
g(t)->\infty,as t->\infty
可以构造函数 b 满足以下两个条件:
(i) b(\infty)=\infty
(ii) b(t)-b(g(t))=0
C是常数
可假设g光滑性,g,b皆为正值函数。 |
|
n*******l 发帖数: 2911 | 45 这个函数在1附近是增函数,在x足够大时是减函数。你可以计算一下
f'(x)在xto 1+时的极限(用两次洛必达法则),是正无穷。 |
|
L****o 发帖数: 166 | 46 假设U是光滑的二元非负函数满足
1) U(x,y)=U(y,x);
2) a(|x-y|)<=U(x,y)<=b(|x-y|),a和b是连续一元非负函数,满足a(0)=b(0)=0。
另f是局部李普西茲二元函數。
U和f满足
3)U_x(x,y)*f(x,z)+U_y(x,y)*f(y,w)<=U(x,y) 对任意满足|x-y|>=|z-w|的x,y,z,w成
立。
U_x 和 U_y 分别是U对第一元和第二元的偏导。
求证或者构造反例:存在连续函数一元非负函数c,满足c(0)=0,使得
U_x(x,y)*f(x,z)+U_y(x,y)*f(y,w)<=U(x,y)+c(|z-w|)
对任意x,y,z,w成立。 |
|
d*e 发帖数: 843 | 47 假设f是一个函数
定义域非负实数
满足
1) 在0点值为0
2) 单调递增趋无穷
3) 满足f'(s)<=f(s), s>=0
问是不是存在一个函数g
使得复合函数
h(s):=g(f(s))光滑
且满足以上三个性质? |
|
x******e 发帖数: 466 | 48 如题,有没有大神推荐关于数值积分的书?小弟正在做关于贝赛尔函数汉克儿函数的数
值积分,就是用数值方法求解积分,快速收敛而且准确,比如索默菲尔德积分甚至更加
复杂的积分,在此谢谢大侠! |
|
o*******w 发帖数: 349 | 49 你可以查一查有关,在有损煤质中的天线, 电磁场数值计算方面的论文,。好像变成
HANKEL函数,然后在复平面上作围线数值积分。另外一种方法是直接积分(高速震荡被
积函数),然后处理,要做什么变换(Shanks 变换? 或者什么, 一般数值积分的教
课书好像不会讲)。你可以用这些作为关键词搜搜。记忆中应该前一种方法好. 仅供参
考. |
|
o*******w 发帖数: 349 | 50 你可以查一查有关,在有损煤质中的天线, 电磁场数值计算方面的论文,。好像变成
HANKEL函数,然后在复平面上作围线数值积分。另外一种方法是直接积分(高速震荡被
积函数),然后处理,要做什么变换(Shanks 变换? 或者什么, 一般数值积分的教
课书好像不会讲)。你可以用这些作为关键词搜搜。记忆中应该前一种方法好. 仅供参
考. |
|