调用函数-C++/C#的函数内嵌问题

问题描述

C++/C#的函数内嵌问题
int a()
{
int c=1;
int d=2;
int e=3;
return c+d+e;
}
int b()
{
int c=a();
int d=a();
int e=a();
}
上面是简单例子 函数a里有很多对象,函数b里也有很多对象与a重复,
假设这种情况不可避免,对象有很多修改很不方便。
现在我想调用函数b,却发现调用函数b必须调用函数a,
于是我想把函数a整合到函数b里面去,这样我以后只需要调用一个函数就行了
因为如果我调用函数b时的函数b需要调用很多个函数或者重复调用函数
那么就不好整合函数b了

不知道有没有看懂我的意思

解决方案

不明白你为什么要这样做,现代程序设计,为了更好维护系统,通常会把多次调用相同的代码
提炼成一个函数,用微小的性能损失换取代码的可维护性。
所以你这样反着来是不符合常理的,当然如果这段代码只执行了一两次是可以把他从函数里面
整合到调用的地方,但是一个函数最好不要超过100行。

希望能帮到你。

解决方案二:
函数a最好不要放在函数b里面去,函数a就是一个独立的功能,如果函数b里面多次调用到函数a,你觉得不好看的话,可以把b里面一部分相同的代码再次封装成一个函数,在b里面进行调用。

解决方案三:
用C#里面的内部类,用internal关键字把访问权限控制在同一程序集文件里面。实现类似java的内部类的效果。这样可以解决命名冲突的问题。

class ClassB
{
void b()
{
int c=ClassA.a();
}
internal class ClassA
{
public static void a();
}

}

时间: 2024-08-31 09:16:35

调用函数-C++/C#的函数内嵌问题的相关文章

Makefile所有内嵌函数

一.文本处理函数以下是GNU make内嵌的文本(字符串)处理函数.1       $(subst FROM,TO,TEXT) 函数名称:字符串替换函数-subst. 函数功能:把字串"TEXT"中的"FROM"字符替换为"TO". 返回值:替换后的新字符串. 示例: $(subst ee,EE,feet on the street) 替换"feet on the street"中的"ee"为"E

php内嵌函数用法实例

 这篇文章主要介绍了php内嵌函数用法,实例分析了php内嵌函数的调用方法与使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php内嵌函数用法.分享给大家供大家参考.具体分析如下: php中可以在函数内部内嵌一个函数,调用范围仅限于函数本身 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <?php function msg() { echo("<center><

关于js函数解释(包括内嵌,对象等)_javascript技巧

常用写法: function add(a,b) { return a + b; } alert(add(1,2)); // 结果 3 当我们这么定义函数的时候,函数内容会被编译(但不会立即执行,除非我们去调用它).而且,也许你不知道,当这个函数创建的时候有一个同名的对象也被创建.就我们的例子来说,我们现在有一个对象叫做"add"(要更深入了解,看底下函数:对象节.) 匿名函数: 我们也可以通过指派一个变量名给匿名函数的方式来定义它. var add = function(a,b) {

c语言-如何使用内嵌汇编引用c函数

问题描述 如何使用内嵌汇编引用c函数 main.c #include<stdio.h> #include<stdlib.h> extern int sum(int); int main(int argc, char __stdcall**argv) { int i; if (argc < 2) { printf("usage: main number "); return -1; } i = atoi(argv[1]); __asm { // 计算并输出s

从头开始写项目Makefile(十):make内嵌函数及make命令显示【转】

转自:http://blog.csdn.net/shallnet/article/details/38314473#comments 版权声明:本文为博主原创文章,未经博主允许不得转载.如果您觉得文章对您有用,请点击文章下面"顶". [版权声明:转载请保留出处:blog.csdn.net/gentleliu.Mail:shallnew at 163 dot com] 这一节我们讲一下make的函数,在之前的章节已经讲到了几个函数:wildcard.patsubst.notdir.she

宿主进程-如何利用CreateRemoteThread函数直接调用(CALL)远程进程内的函数

问题描述 如何利用CreateRemoteThread函数直接调用(CALL)远程进程内的函数 通过OD找到宿主进程内函数体地址,利用CreateRemoteThread直接调用导致宿主进程崩溃.请问是什么原因 解决方案 注入的地址有问题,是否可以正确修改,进程是否有做保护了.

mongodb java-怎样在java中调用Mongodb内嵌文档中的值?

问题描述 怎样在java中调用Mongodb内嵌文档中的值? 大概的数据结构如下所示,可以使用mongodb的命令 db.first.find( {"EventParameter.TotalSeconds":3} )查询TotalSeconds为某一个数值,比如3数据,但是在java中怎么获取到所有的数值呢?如下面一行代码中get函数中的参数应该怎么写才能获取所有的时间? float seconds=Float.parseFloat(record.get("TotalSeco

【菜鸟请教】jsp如何调用到servlet中的函数

问题描述 首先说一下,我刚学习,问题可能很菜,请大家帮忙!之间接触过javabean的东西,jsp页面中可以调用java文件中的函数,比如,bean.java中可以写一个geturl的函数,bean.jsp中可以通过<iframesrc=<%=geturl()%>>,来实现对于iframe的设定.现在,我学习使用jsp.servlet来实现上述需求,在servlet.java文件中写了一个geturl函数,在jsp中编写<iframesrc=<%=geturl()%&g

delphi-Delphi调用asm内嵌汇编程序,dll返回不正确的问题

问题描述 Delphi调用asm内嵌汇编程序,dll返回不正确的问题 delphi内嵌汇编如何作为函数返回值啊?为什么写在函数里可以,但是写在dll里就不行了? 解决方案 http://www.cnblogs.com/DxSoft/archive/2010/10/09/1846342.html