Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何避免代码重复和使用常量成员和继承浪费内存?

如何避免代码重复和使用常量成员和继承浪费内存?
EN

Stack Overflow用户
提问于 2011-11-08 17:44:39
回答 2查看 194关注 0票数 2

我正在为shapes实现一些类。有没有办法避免代码重复,同时又浪费内存?

基本上,我希望基类中的变量是一个常量,并且每个派生类(如静态成员)只有一个副本,但每个派生类具有不同的值。

例如,我想定义作用于派生类的惯性张量的函数;对于每个形状,惯性张量是一个常量,所以我不希望每个实例都有一个相同常量的副本。

然而,不是声明相同的变量并为每个派生类定义相同的函数,我想在基类中声明一个变量,并在基类中也有一个泛型函数,比如将惯性张量从世界坐标更改为局部坐标,反之亦然。

有没有办法做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-08 17:50:03

在基类中使用纯虚函数,并在每个派生类中重写它以返回适当的值。这样,您只有一个常量副本,并且每个派生类都正确地定义了它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Base
{
public:
    virtual int get_constant0() const = 0;
};

class Derived0 : public Base
{
public:
    virtual int get_constant0() const { return 5; }
};

class Derived1 : public Base
{
public:
    virtual int get_constant0() const { return 42; }
};
票数 8
EN

Stack Overflow用户

发布于 2011-11-08 18:09:01

与您的要求无关,但与我认为您正在尝试实现的目标相关;我将开始查看现有的实现,看看其他库如何实现刚体类型之间的集成,如果只是为了了解而不是要做什么。

ODE library

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8054793

复制
相关文章
在js中获取thymeleaf变量
大人者,不失其赤子之心者也。——《孟子·离娄下》 代码很简单 如下即可,这里的'Achao'是为了防止编译报错 <script th:inline="javascript"> var data = /*[[${data}]]*/ 'Achao'; console.log(data); </script>
阿超
2022/08/16
13.3K0
在js中获取thymeleaf变量(二)
不过要注意一点,如果是对象格式的数据,需要在script标签上加th:inline="javascript"
阿超
2022/08/16
9.5K0
在js中获取thymeleaf变量(二)
JSTL 和 JSP 中变量互相访问1)<%%>变量在jstl中获取的例子:2)jstl变量在<%%>中获取的例子:
1)<%%>变量在jstl中获取的例子: <% String username="zhangsan"; pageContext.setAttribute("username",username); %> <c:out value="${username}"/> 即:jsp 页面中<%%>中的变量在定义后,需要放置到pageContext属性中,才能被获取(当然也可以放置到request和session、 applicatio中,这要根据实际应用来做决定,一般只是在页面中使用的化,使用
孙亖
2018/06/07
7.2K0
VBA:获取指定数值在指定一维数组中的位置
文章背景:在采用VBA抓取数据时,有时需要判断指定数值是否在一维数组中已存在;如果存在,则希望能够获取该数值在数组内的位置。
Exploring
2022/08/10
7.3K0
VBA:获取指定数值在指定一维数组中的位置
TKE中在节点上获取容器资源配置
从本质上,容器其实就是一种沙盒技术。就好像把应用隔离在一个盒子内,使其运行。因为有了盒子边界的存在,应用于应用之间不会相互干扰。并且像集装箱一样,拿来就走,随处运行。其实这就是 PaaS 的理想状态。
聂伟星
2020/07/31
1K0
nuScenes数据集在OpenPCDet中的使用及其获取
从官方网站上下载数据NuScenes 3D object detection dataset,没注册的需要注册后下载。 注意: 如果觉得数据下载或者创建data infos有难度的,可以参考本文下方 5.
烤粽子
2021/10/08
5.5K0
vue 中CSS样式变量获取data数据变量
如果几个div的样式根据data中的样式来设置 <div class="myclass" :style="myStyle">测试1</div> <div class="myclass" :style="myStyle">测试2</div> props: { leftStyle: { type: Object, default: () => { return { background: "red" }; } } },
tianyawhl
2021/12/16
3.4K0
在 NPM 中设置代理
要在 NPM 中设置代理,您需要使用 `npm config set proxy` 命令。以下是一个详细的教程:
用户614136809
2023/10/17
2.2K0
性能测试中获取JVM资源信息
在以往性能测试中,通常施压机的硬件资源不会成为压力瓶颈,但是在多任务并行的场景中,如果一个任务占用当前机器资源过多,会影响其他任务执行。或者当前用例本身存在问题,导致性能无法进一步提升,影响了性能测试执行。
FunTester
2023/02/23
7630
【小家java】类中静态代码块、构造代码块、静态变量、成员变量执行顺序和继承逻辑
诚如各位所知,java的三大特性:封装、继承、多态。其中继承,是java中最有学问的一点也是最相对来说最难理解的一些东西,本文针对于此,做一些实例分析,希望能够帮助大家理解java中的继承机制
YourBatman
2019/09/03
1.5K0
【小家java】类中静态代码块、构造代码块、静态变量、成员变量执行顺序和继承逻辑
【转】指定文件、指定行、指定代码块不使用 ESLint 语法检查
在使用了 eslint 进行代码检查后,可以大幅提高我们的代码规范。但是,在某些情况下,我们必须去写一些违反规则的代码。如果写了这些代码,则势必会导致各种提示报错。这种情况下,如果不去处理,则会导致项目警告越来越多,最终不知道哪些是必须的,哪些是可以修正的。 因此,在某些地方,禁用检查就变得十分重要了。随便搜索了一下,找到了这篇博文,写得还比较全面,因此转载过来了。
FungLeo
2019/07/02
1.7K0
在文件字段块 修改指定内容 grep 匹配字符向下选择多行
setfile="1.log" # 定义一个文件变量,为指定文件 setn=( `cat -n $setfile | grep -A 2 -w "\[AAADB\]" | grep "BACKUPFLAG" | awk -F" " '{print $1}'` ) # cat -n 显示行号
eisc
2021/05/31
9100
获取lambda代理
伯乐不可欺以马,君子不可欺以人——荀子 代码如下: MethodHandles.Lookup lookup = MethodHandles.lookup(); MethodHandle getR = lookup.findVirtual(B.class, "getR", MethodType.methodType(Object.class)); SerFunc<Object, B> lambda = MethodHandleProxies.asInterfaceIns
阿超
2022/12/18
3390
获取lambda代理
PHP 获取指定 URL 页面中的所有链接
以下代码可以获取到指定 URL 页面中的所有链接,即所有 a 标签的 href 属性:
Z4
2020/04/22
7.6K0
基于训练集动态代理模型的PSO特征选择算法
①基于演化计算的Wrapper特征选择算法在计算量上耗费很大。 ②基于PSO演化计算的特征选择算法在演化效率上有显著提高,但是评价过程的时间依旧很长。
里克贝斯
2021/05/21
8230
基于训练集动态代理模型的PSO特征选择算法
winform 在指定目录下已经生成资源Image图片的方式
假设在项目目录下存在一个Image目录,注意其中图片已经都设置成为:生成方式为资源文件。
跟着阿笨一起玩NET
2018/09/19
1K0
winform 在指定目录下已经生成资源Image图片的方式
实时错误 '91' :对象变量或with块变量未设置
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/9672911
DannyHoo
2018/09/13
4.1K0
实时错误 '91' :对象变量或with块变量未设置
点击加载更多

相似问题

基于代理条件的资源获取方法

13

设置/获取JSessionID -代理块集-cookie属性

12

从catch块中的资源尝试中获取变量

13

基于随机赋值创建代理集

10

在try块中的Javascript集const变量

76
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文