我的大多数C++编程经验都是针对学校的项目.通过这种方式,我们禁止或不鼓励使用外部库(即增强).因此,除非我们想编写自己的智能指针,否则我们无法使用智能指针,这通常超出了项目的范围.我只想知道在现实世界的项目中,手动实际完成了多少内存管理?
我想这是一个模糊的问题.我只是想知道在现实世界的项目中通常如何进行内存管理.
所以我进入Scala并且我有一个问题,如果我想做什么是可能的,或者是否有更好的方法.
我希望能够将一个Map作为参数,其键是字符串,或者0-args函数返回一个字符串.所以举个例子
def main(args: List[String]){
f = F(
Map(
"key" -> "value",
"key2" ->(()=> {"valule2"})
)
)
println(f("key"))
}
case class F(arg: Map[String, ???]){
def apply(s: String): String = {arg(s)}
}
Run Code Online (Sandbox Code Playgroud)
这显然不能编译.有没有办法做到这一点?
我的理解总是通过#include <header.h>它在系统中查看包含目录,并且#include "header.h"它在本地目录中查找.但我只是查看python源代码,它使用该"header.h"方法在兄弟目录中定义标头.
所以py3k/Python/ast.c它确实如此#include "Python.h".但是Python.h在py3k/Include/Python.h
这是我从未见过的常见问题,没有参与任何真正的大型C项目吗?我怎么说,至少我的IDE,看看py3k/Include?
更新
我想出了如何告诉我的IDE包含它们,只是我是愚蠢和拼写错误.但我更感兴趣的是为什么""有效.是不是之间的不同""和<>?
我知道这是愚蠢的,但我无法弄清楚为什么它不起作用.请帮忙.
def main():
yourAge=getAge() #get subject's age
yourWeight=getWeight() #get subject's weight
yourBirthMonth=getMonth() #get subject's birth month
correctAnswers(getAge, getWeight, getMonth)
def getAge():
yourAge=input('Enter your age. ')
return yourAge
def getWeight():
yourWeight=input('Enter your weight.')
return yourWeight
def getMonth():
yourBirthMonth=input('Enter your birth month. ')
return yourBirthMonth
def correctAnswers(getAge, getWeight, getMonth):
if getAge <= 25:
print'Congratulations, age is less than 25.'
if getWeight >= 128:
print'Congratulations, weight is more than 128.'
if getMonth == 'April':
print'Congratulations, month is April.'
main()
Run Code Online (Sandbox Code Playgroud)
追溯:
Traceback (most recent …Run Code Online (Sandbox Code Playgroud)