我是C++的新手.我正在阅读迈克尔道森的"通过游戏编程开始C++".但是,我对编程并不陌生.我刚刚完成了一个处理向量的章节,所以我对它们在现实世界中的使用有疑问(我是一名计算机科学专业的学生,所以我还没有太多真实的经验).
作者在每章末尾都有一个Q/A,其中一个是:
问:我应该何时使用向量而不是数组?
答:差不多总是如此.向量是高效和灵活的.它们确实比阵列需要更多的内存,但这种权衡几乎总是值得的.
你们有什么感想?我记得在Java书中学习过向量,但是在我的Comp totro中我们根本没有介绍它们.科学.上课,也不是我在大学的数据结构课.我也从未见过它们用于任何编程任务(Java和C).虽然我知道学校代码和现实世界的代码可能会有很大不同,但这让我觉得它们并没有被大量使用.
我不需要被告知两个数据结构之间的差异; 我非常了解他们.我想知道的是,如果作者在他的Q/A中给出了很好的建议,或者他只是想让初学者程序员免于破坏管理固定大小数据结构的复杂性.另外,不管你怎么想作者的意见,你怎么看在现实世界往往?
谢谢,
杰拉德
好吧,所以我打算建立一个具有upvote/downvote功能的网站.在没有深入了解网站其他部分的细节的情况下,用户将能够提交可以投票的内容(在这种意义上类似于reddit - 仅在此意义上).本网站上唯一的"帐户"将是管理员和版主,这让我想到了一个主要问题:
如何在没有帐户的情况下尽可能地将每个帖子的每个用户的投票限制为一个?
该网站也将使用Django和MySQL制作,这让我想到了第二个问题:
如何在MySQL数据库中存储投票?我应该在每个帖子的字段中存储一个整数,还是应该是每行一票的表?我的猜测绝对是前者,但我以前从未使用过类似的东西,所以我只是想确定一下.
有人能指出我如何实现我想要的功能的大方向吗?我一直在考虑它,我想到了使用会话变量,cookie和/或IP地址的方法.我知道如果没有账户,没有任何解决方案是完美的,但我只想要一些能够阻止人们发送垃圾邮件的东西.我很无能,所以所有的帮助都表示赞赏.
今天,一位采访者问我这个问题.我的直接反应是我们可以简单地进行线性搜索,将当前元素与数组中的前一个元素进行比较.然后他问我如何在不到线性的时间内解决问题.
假设
[0, n],其中n是数组的长度.示例数组:[0,1,2,3,4,5,6,7,8,8,9]
我试图想出一个分而治之的算法来解决这个问题,但我并不相信这是正确的答案.有没有人有任何想法?
我对JavaScript很新,所以如果这是一个愚蠢的问题请耐心等待.
假设我有一个看起来像这样的"类":
var obj = function () {
var val;
return {
setVal: function(newVal) {
val = newVal;
},
getVal: function() {
return val;
}
};
};
Run Code Online (Sandbox Code Playgroud)
假设我的语法是正确的,这将定义一个具有名为"value"的"私有"属性的类,其中包含设置/获取属性的方法.现在,我将从这个类创建两个对象:
var myObj = obj();
var yourObj = obj();
Run Code Online (Sandbox Code Playgroud)
这是为每个对象创建一个单独的setVal()和getVal()方法吗?如果没有,为什么不呢?如果是这样,在构建高效的Web应用程序时这是一个严重问题吗?在大多数/所有情况下,关闭效率的权衡(如果有的话)是否值得?我笨吗?
谢谢,杰拉德
arrays ×2
algorithm ×1
c++ ×1
closures ×1
javascript ×1
mysql ×1
oop ×1
performance ×1
search ×1
vector ×1