jjzjj

c++ - 多重指数实现

有人知道已实现的多重指数算法吗?我正在寻找给定vectorA的东西,B将使用那里的一些快速算法计算A[i]^B[i]的乘积。谢谢! 最佳答案 以下假定您的数据是float。如果您使用的是多精度整数,请指定您的要求。干净的数值方式当然是先取log。事实上,即使结果是有限的,部分产品也很容易下溢/溢出。惯用的对应C++程序是:#include#include#includedoublef(doublex,doubley){returny*std::log(x);}templatedoublemulti_exponentiation(Ia

c++ - C++ 也可以解释而不是编译吗?

我知道解释C++代码可能没有实际值(value),这个问题仅供娱乐和学习。是否可以逐条解释C++代码而不是编译它?还请说明回答的原因。如果不可能,是否存在可以解释的语言子集? 最佳答案 这取决于您所说的“逐个陈述”是什么意思。大多数时候,C++是一种严格自上而下的语言:如果您想使用任何东西,您必须事先声明或定义它。所以这里没问题。但是,从上到下的方法也有异常(exception)。例如,类成员函数的主体看到类数据成员的声明,这些声明在源代码中词法上跟在它后面。可以调用已声明但尚未在翻译单元中定义的inline函数(尽管定义必须出现在

c++ - 3rd-party 垃圾收集器中使用的方法

我写信是为了澄清本网站上的一些评论。1)我知道C++没有垃圾收集器。有人说C++是在垃圾收集器思想出现之前发明的,这就是原因。真的吗?我认为这是有道理的。2)每当讨论垃圾收集器时,都会提出智能点(例如boost::share_ptr)作为一种方式。我曾经坚信引用计数是实现垃圾收集器的一种方式,但有人说,智能点不是垃圾收集器的实现。怎么回事?3)有人说为什么C++没有包含垃圾收集器是因为它很难,很多问题无法解决。但是,有人说有3rd-party垃圾收集器可用,无论是商业的还是免费的。那么这些3rd-party是如何处理这些问题的呢?如果有人能澄清我的困惑,我将不胜感激。非常感谢!

c++ - 这个 PRNG 背后的理论是什么?

__forceinlinestaticintRandom(){intx=214013,y=2531011;seed=(x*seed+y);return((seed>>16)&0x7FFF)-0x3FFF;}上面的代码返回具有良好均匀分布的PRNG。现在将x更改为x+1-生成的序列不能再称为PRNG。那么(这个)PRNG背后的理论是什么?“x和y是精心挑选的”,但它们是如何选择的? 最佳答案 这看起来像一个Linearcongruentialgenerator.当乘数x可被模减一的所有质因数整除时,LCG更好(此处为0x3FFFFFF

c++ - 专业面试的意外答案

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion这是一个100%的理论问题,可能基于观点。在一次专业面试中,我得到了一个打印页面,其中包含两个类的大量编写糟糕且格式不正确的代码,以便在演讲中逐行分析它们。我们称这些数据结构为A和B。没有关于预期行为的问题陈述或任何信息。但是他们的一个问题真的让我很生气。在识别出算法的可疑行为以及许多潜在和实际错误后,他们让我再识别一个错误。我发现了其他几个明显的问题,但我没有弄清楚他们想从我这里得到什么

c++ - 在 C++ 中从字符串生成唯一无符号整数的最佳方法是什么?

我不需要代码(如果你愿意,你可以提供代码示例)但我想要理论。假设我有以下功能:UINTGenerateID(constchar*string);我希望函数的结果看起来完全随机。我知道不可能做到独一无二,但这是我能解释我的愿望的最好方式。GenerateID("123");//Couldresultin999GenerateID("123");//Mustalsoresultin999GenerateID("124");//Shouldresultinsomethingcompletelydifferent当我自己尝试这样做时,结果的位数总是大致相同。 最佳答

c++ - 访客模式。 void* 是完全抽象接口(interface)可接受的返回类型吗?

我有一个AST,以通常的方式表示(抽象类型的节点树)。我有几个遍历这棵树的用例(一个优化器,它返回另一个AST;IR代码生成,它返回一个llvm::Value*;和一个调试分析器,它简单地输出到stdout并返回什么都没有)。访问者感觉去这里是正确的方式,但是访问者的每个用例的不同返回类型使得很难看出如何为此实现接口(interface)。我考虑过这个:classVisitor;classASTNode{public:virtualvoidaccept(Visitor*visitor);};classVisitor{public:virtualvoidvisit(CallNode*no

c++ - 如何随机化排序列表?

有一个奇怪的问题要问你们,我有一个很好的排序列表,我希望将其随机化。我该怎么做?在我的应用程序中,我有一个函数返回描述离散化对象轮廓的点列表。由于问题的解决方式,该函数返回一个漂亮的有序列表。我有数学中描述的第二个边界,想确定这两个对象是否相交。我只是迭代这些点并确定是否有任何一点在数学边界内。该方法效果很好,但我想通过随机化点数据来提高速度。由于我的数学边界很可能会被一系列彼此相邻的点重叠,我认为检查随机列表而不是迭代一个排序好的列表是有意义的(因为它只需要一个点击以声明交叉点)。那么,关于如何随机化有序列表有什么想法吗? 最佳答案

c++ - 使用数组并移动重复项以结束

我在接受采访时遇到了这个问题,最后被告知有一种更有效的方法可以做到这一点,但仍然无法弄清楚。您正在向函数传递一个整数数组和一个表示数组大小的整数。在数组中有很多数字,例如1,7,4,8,2,6,8,3,7,9,10。您想要获取该数组并返回一个数组,其中所有重复的数字都放在数组的末尾,因此上面的数组将变成1,7,4,8,2,6,3,9,10,8,7。我使用的数字并不重要,我不能使用缓冲区数组。我打算使用BST,但必须保持数字的顺序(重复数字除外)。我不知道如何使用哈希表,所以我最终使用了双for循环(我知道n^2太可怕了)。我如何使用C++更有效地做到这一点。不是寻找代码,只是寻找如何做

ios - 在不连接 APNS 的情况下向 Apple 设备发送推送通知

我知道这个问题听起来有点奇怪,但我还是想问这个问题(请随意投反对票):是否可以在不连接到Apple服务器的情况下向iOS设备发送推送通知?我的想法是从我的私有(private)服务器发送推送,而不是Apple的。这可能吗? 最佳答案 来自developer.apple.com的信息Remotenotifications—alsoknownaspushnotifications—arrivefromoutsideadeviceoraMac.Theyoriginateonaremoteserver—theapp’sprovider—an