- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。
想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。
8年前关闭。
Improve this question
伙计们,我需要找到一个像 codingbat 这样的好网站“再次学习”C++。我在学校学过它,但后来我从未认真使用过它。我不是在寻找像 Project Euler 这样的东西,因为它专注于数学问题。我需要一些真正专注于 C++ 原则、特征和工具的东西。
最佳答案
我不认为这样的网站存在,我怀疑它永远不会存在。原因是 C++ 是巨大的 - 我的意思是 reeaallllyyy 巨大。
当您开始专业地编写 C++ 代码(即每周 40 小时)并每天花 1 或 2 小时学习有关 C++ 的新东西(即每周 5-10 小时)、阅读书籍和文章时,您将需要几个月的时间如果不是几年,要成为一名真正的专业 C++ 程序员 - 不切实际地假设你的工作不需要你学习任何 3rd 方 API、新工具、技术等等,这会分散你学习 C++ 的注意力。
几年来,我一直在为已经接触 Java 一年的学生教授 C++。在 4-5 个月、12-15 个讲座中,以及至少两次在实验室的时间里,我设法将它们从“Hello, world!”中拖出来。一直到模板元编程的简短介绍。了解该跨度涵盖的所有区域的每个人都会告诉您,在此之后,他们仍然是该死的新手。
(哎呀,我已经使用 C++ 超过 15 年了,通过编写 C++ 代码赚了超过 10 年的钱,而且几乎每周都在学习关于它的新东西。而且这甚至没有考虑到新标准向我们倾倒的大量东西,这已经“指日可待”了好几年)。
由于学习 C++ 的领域非常庞大,而且 C++ 已经足够老了,当涉及到他们所学的标准习语和“最佳”实践时,它的程序员可以分为几代人,最后因为(再次由于其令人难以置信的巨大)新技术不断被发现和发展(模板元编程,现在是 C++ 的一个非常重要的特性,是一个没有人计划过的意外),C++ 社区对习语和实践的看法是它不像 Java 社区那样紧凑,并且很难在不引起激烈讨论的情况下作为一组几十条规则进行交流。
(我认为事实上有几本不同的非常好的和推荐的最佳实践书籍,每本都列出了几十条经验法则,而且其中一些人后来设法获得了一本补充的“更多最佳实践”书籍,这确实说明了这一点。)
您会发现许多专业的 C++ 程序员很乐意只使用 C++ 提供的 30%。例如,许多人将其用作 OO 语言,而忽略了模板(可能除了 STL)、异常和其他非常有用的东西。但是 C++ 是一种多范式语言。它支持面向对象的编程以及泛型编程、生成式编程、许多函数式编程以及许多其他范式。当这些范式结合在一起时,它就会变得最强大。
那么我的建议是什么?
看看The Definitive C++ Book Guide and List .
首先从初学者的书中选择。既然你说你已经接触过 C++,我会推荐 Andrew Koenig 和 Barbara Moo 的 Accelerated C++。这是一篇出色的介绍,因其改变了 C++ 教学的方式而受到称赞,但它的学习曲线相当陡峭。此外,它有 250 页,实际上只是一个简短的介绍。
另一种选择可能是 Stanley Lippman 的 C++ Primer(它有 1000 页,详细涵盖了相同的内容)或 Bruce Eckel 的 Thinking in C++(我不知道)或 Bjarne Stroustrup 的经典 The C++ Programming Language(还有1k 页)或他的最新书《编程 - 使用 C++ 的原则和实践》(我还没有看过)。
这些书有足够的任务让你忙碌一段时间。添加一些你自己的,你可以忙着学习几个月。
然后慢慢地按照你的方式在列表中工作。
下一个 C++ 标准,现在普遍预计在 2011 年,将向该语言添加一些具有挑战性的概念(如右值引用)和一个大大扩展的标准库。 (当前草案的页数几乎是上一份的两倍。)不幸的是,由于标准尚未完成,因此没有可用的书籍来教授它。所有这些都在文章和在线讨论中展开(尽管维基百科有 a pretty good article about it ),而且都是为流利的 C++ 程序员而不是 C++ 新手准备的。不幸的是,没有一本教C++ 1x 给C++ 新手的教科书而且我担心你可能需要几年的时间才能从几本推荐的书籍中做出选择。
并且不要忘记 C++ FAQ ,这是一个很好(并且非常易读)的最佳实践(及其原理)在线集合,尽管它绝不是介绍性文本。
关于c++ - 用于 C++ 的类似codingbat 的站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3479731/
我显然缺少一个“if”语句,但我不知道如何涵盖茶或糖果不是彼此的两倍: Java > Logic-1 > teaParty 我们正在举办一个有大量茶和糖果的聚会。返回编码为 0=bad、1=good
我正在尝试编码 bat 问题repeatFront: Given a string and an int n, return a string made of the first n characte
这是问题; http://codingbat.com/prob/p153748 给定两个 int,每个都在 10..99 范围内,如果有一个数字出现在两个数字中,例如 12 和 23 中的 2,则返回
我正在 codingbat 上解决这个问题它表明我的代码适用于所有情况,但不适用于其他情况。 Given an array of ints, return true if the value 3 ap
我目前正在 codingbat 网站上做一个练习,上面写着: Given an array of ints, compute recursively if the array contains a 6
我正在尝试解决 this CodingBat问题: Squirrels who like to party get together and smoke cigars. Such a party is
对于模棱两可的标题,我深表歉意,我想不出更具体的东西。 为了更好地递归解决问题,我一直在处理 CodingBat 上发布的问题.我的问题与以下问题的变体有关。 original problem是: G
给定任务sameEnds来自 CodingBat: 给定一个字符串,返回出现在字符串开头和结尾且不重叠的最长子字符串。例如,sameEnds("abXab") 是 "ab"。 sameEnds("ab
我正在codingbat.com 上解决Java 问题,并且在这个问题上停止了,scoresAverage。由于练习描述有点复杂,我就直接粘贴在这里: Given an array of scores
我正在做codingbat作为我即将进行的测验的练习。我正在使用递归来解决递归问题,但我的老师说我应该能够使用其他循环来解决这些问题。我认为我应该使用 for 循环,因为它们可以轻松实现相同的结果。
嘿伙计们,我希望有人能向我解释这段代码中的错误?我只是有点难以理解为什么它会抛出异常。 最佳答案 第一个条件检查字符串的最小长度,应为 3。因此“bad”和“xba”通过第一个条件。 让我们先讨论ba
这类似于我之前的努力(wordEnds 和 repeatEnd):作为一种脑力练习,我想仅使用正则表达式来解决这个玩具问题。 Description from codingbat.com : Give
所以基本上,我一直在研究这些 codingBat 问题,当我真的遇到困难时,我通常会检查解决方案并跟踪逻辑,这帮助我不会陷入后来使用类似想法的问题。 这个最大镜像问题对我个人来说不像其他问题;我不知道
我开始学习使用 Java。 我在codingbat ( http://codingbat.com/prob/p123384 ) 中遇到了一个问题:这是我的代码 public String frontB
这是我的任务:给定一个字符串,“xyz”是否出现在字符串的中间?为了定义 middle,我们会说“xyz”左侧和右侧的字符数最多只能相差 1。 使用下面的代码可以看到问题描述和其他用例中的失败here
下面是我用于 no_teen_sum 和后续 fixed_teen 函数的代码。 第一个代码是我提交的 - 并且适用于所有测试用例: def no_teen_sum(a, b, c): # che
我有点困惑为什么我的下面的解决方案没有给出正确的答案。我做了一些挖掘,我猜这与调用的工作方式有关?我认为这两种方式是相同的,但事实并非如此,但我不完全理解我的错误返回的是什么。这是我之前做的研究:ht
如果字符串“cat”和“dog”在给定字符串中出现相同的次数,则返回 True。 这是我正在尝试的问题。我的代码是: def cat_dog(str): count1 = 0 coun
我正在尝试解决这个 CodingBat 问题: (This is a slightly harder version of the fix34 problem.) Return an array th
我试图尽可能多地理解正则表达式,所以我想出了这个基于正则表达式的解决方案来解决 codingbat.com repeatEnd : Given a string and an int N, retur
我是一名优秀的程序员,十分优秀!