小编Jam*_*ard的帖子

decltype vs auto

据我了解,双方decltypeauto会尝试找出的东西是什么类型.

如果我们定义:

int foo () {
    return 34;
}
Run Code Online (Sandbox Code Playgroud)

然后这两个声明都是合法的:

auto x = foo();
cout << x << endl;

decltype(foo()) y = 13;
cout << y << endl;
Run Code Online (Sandbox Code Playgroud)

你能否告诉我decltype和之间的主要区别auto是什么?

c++ type-inference

43
推荐指数
2
解决办法
1万
查看次数

什么标头在C++中定义NULL?

根据C++入门,<cstdlib>标题定义NULL.cpluspplus说它的定义是<cstddef>.

最终,如果没有包含正确的标题,我认为NULL不能被引用.

从我所看到的,然而它可以被引用并生成程序,并且在仅包括之后编译和运行而没有警告或错误 <iostream>

请帮我理解这个.

c++ null

40
推荐指数
2
解决办法
5万
查看次数

在IntelliJ Idea中设置和使用环境变量

我设置了一个环境变量(Under IDE Settings -> Path Variables)

 APP_HOME = /path/to/app_home  
Run Code Online (Sandbox Code Playgroud)

我的一项测试是失败的

 System.out.println("APP HOME: " + APP_HOME); 
Run Code Online (Sandbox Code Playgroud)

 APP HOME: null/ 
Run Code Online (Sandbox Code Playgroud)

它看起来不像是正在读取的env变量.我错过了什么?

intellij-idea environment-variables

40
推荐指数
2
解决办法
10万
查看次数

C-String与C++字符串的效率

C++ Primer说

对于大多数应用程序,除了更安全之外,使用库字符串而不是C样式字符串也更有效

安全是理解的.为什么C++字符串库更有效?毕竟,在它下面,是不是字符串仍然表示为字符数组?

为了澄清,作者是否谈论程序员效率(理解)或处理效率?

c++ string

35
推荐指数
4
解决办法
1万
查看次数

发出文件警告,覆盖目标命令

作为makefile的一部分,我想生成目标的调试版或发行版.

在功能上,一切正常,但是,我在运行make时收到警告

 12 SRC := $(shell echo src/*.cpp)
 13 SRC += $(shell echo $(TEST_ROOT)/*.cpp)
 14 
 15 D_OBJECTS = $(SRC:.cpp=.o)       # same objects will need to be built differently
 16 R_OBJECTS = $(SRC:.cpp=.o)       # same objects will need to be built differently

 22 all: $(TARGET)
 23 
 25 $(TARGET): $(D_OBJECTS)
 26   $(CC) $(D_OBJECTS) -o $(TARGET)
 27 
 28 $(D_OBJECTS) : %.o: %.cpp                     # ----- run with debug flags 
 29   $(CC) $(COMMON_FLAGS) $(DEBUG_FLAGS) -c $< -o $@
 30 
 31 release: $(R_OBJECTS)
 32   $(CC) …
Run Code Online (Sandbox Code Playgroud)

warnings makefile

21
推荐指数
2
解决办法
3万
查看次数

VI识别C++ 11关键字

可能重复:
vim是否有C++ 11语法文件?

如何更新我的VI设置,以便识别(并突出显示)新标准带来的新关键字.

例如:

在此输入图像描述

c++ vi c++11

11
推荐指数
1
解决办法
393
查看次数

迭代向量时自动与具体类型?

我正在阅读的这本书在迭代时给出了这个例子 vector

for (auto &e: v) {
  cout << e << endl;
}
Run Code Online (Sandbox Code Playgroud)

假设v被声明为vector<int> v,换句话说,我们知道这个集合中的元素类型是int.

auto以任何方式使用更好或更喜欢?

for (int &e: v) {
  cout << e << endl;
}
Run Code Online (Sandbox Code Playgroud)

为什么?

c++ int auto c++11

7
推荐指数
1
解决办法
596
查看次数

无法通过macports安装libunwind-headers

在努力

sudo port install gcc47
Run Code Online (Sandbox Code Playgroud)

看来我失踪了

  • cctools
  • ld64
  • libunwind报头

在哪里

  • cctools
  • ld64

取决于

  • libunwind报头

当试图

sudo port install libunwind-headers
Run Code Online (Sandbox Code Playgroud)

我明白了:

--->  Building libunwind-headers
Error: org.macports.build for port libunwind-headers returned: command execution failed
Please see the log file for port libunwind-headers for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_libunwind-headers/libunwind-headers/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port libunwind-headers failed
Run Code Online (Sandbox Code Playgroud)

日志文件说:

25 :info:build Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_libunwind-headers    /libunwind-headers/work/libunwind-30" && /usr/bin/xcodebuild  -target "libunwind-ld" -configuration Deployment build OBJROOT=build/ SYMROOT=build/ MACOSX_DEPLO    YMENT_TARGET=10.8 ARCHS= …
Run Code Online (Sandbox Code Playgroud)

gcc macports

6
推荐指数
1
解决办法
1684
查看次数

如何以编程方式连接UIButton和方法?

在我UIView,我有一个UIButton显示.

在同一个UIView类中,我有一个方法,我想按下按钮时执行.

一切都以编程方式完成,而不使用Interface Builder时,如何将两者链接在一起?

objective-c

4
推荐指数
1
解决办法
1763
查看次数

关于C++内联函数的几个问题

我上课的培训材料似乎是两个相互矛盾的陈述.

一方面:

"使用内联函数通常可以更快地执行"

另一方面:

"使用内联函数可能会因更频繁的交换而降低性能"

问题1:这两个陈述都是正确的吗?

问题2:这里"交换"是什么意思?

请看一下这个片段:

int powA(int a, int b) {
  return (a + b)*(a + b) ;
}

inline int powB(int a, int b) {
  return (a + b)*(a + b) ;
}

int main () {
    Timer *t = new Timer;

    for(int a = 0; a < 9000; ++a) {
        for(int b = 0; b < 9000; ++b) {
             int i = (a + b)*(a + b);       //              322 ms   <-----
            //  int …
Run Code Online (Sandbox Code Playgroud)

c++ inline

4
推荐指数
1
解决办法
374
查看次数