小编Bla*_*ing的帖子

我可以使用基于范围的for循环轻松迭代地图的值吗?

是否可以仅使用foreach迭代std :: map中的所有值?

这是我目前的代码:

std::map<float, MyClass*> foo ;

for (map<float, MyClass*>::iterator i = foo.begin() ; i != foo.end() ; i ++ ) {
    MyClass *j = i->second ;
    j->bar() ;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法可以做到这一点?

for (MyClass* i : /*magic here?*/) {
    i->bar() ;
}
Run Code Online (Sandbox Code Playgroud)

c++ for-loop map c++11

24
推荐指数
4
解决办法
3万
查看次数

使用旧用户名,我该怎么办xcuserdata目录?

(我有一个用Xcode 4.5.2运行Mountain Lion的mac)

我刚刚更改了用户名,Xcode已经开始xcuserdata使用新用户名重新创建目录$path_to_.xcodeproj/xcuserdata/blackl.xcuserdatad.我一直在这样做,因为,我不记得在改变之后是否有任何东西似乎重置了,所以那里的一切都不是太重要......

Xcode存储xcuserdata什么,我应该怎么做旧的?自改变以来,我还没有开设一些旧项目; 我可以重命名那些目录.较新的项目将有两个目录(blackl.xcuserdatad一个具有旧用户名); 在这些情况下我该怎么办?

xcode project xcode4

14
推荐指数
1
解决办法
9656
查看次数

为什么我要将main()放在专用类中?

我没有任何Java经验并且具有C背景.

我想创建一个新的数据类型,如抽象数据类型.在C中,这将通过为新数据类型创建结构来完成; 我理解在Java中,您为该新数据类型创建一个类,然后继续为该类创建对象.

我写了两种不同的方式,它们似乎都有效.但我不明白第二种方式的缺点.

  1. 在这里,我为数据类型创建一个类,创建它的一个实例,然后执行操作.我发现这是互联网教程中使用的设计.

    public class DesignOne {
        public static void main(String[] args) {
            MyDataType obj = new MyDataType(3,4);
            System.out.println(obj.sum());
        }
    }
    
    class MyDataType {
        int i;
        int j;
    
        MyDataType(int i, int j) {
            this.i = i;
            this.j = j;
        }
    
        int sum() {
            return this.i + this.j;
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在这里,我在同一个类中创建了一个类的实例,我有我的驱动函数.类似sum的操作也被定义为类的成员.基本上,只有一个班级.

    public class DesignTwo {
        int i;
        int j;
    
        DesignTwo(int i, int j) {
            this.i = i;
            this.j = j;
        }
    
        int sum() {
            return this.i + …
    Run Code Online (Sandbox Code Playgroud)

java oop

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

原始图灵机上的操作的汇编语言等价物是什么?

如果您采用原始的图灵机定义如下:

......以无限磁带的形式获得的无限存储容量,标记为正方形,每个磁带上可以打印一个符号.在任何时刻机器中都有一个符号; 它被称为扫描符号.机器可以改变扫描的符号,其行为部分由该符号决定,但其他地方的磁带上的符号不会影响机器的行为.但是,磁带可以在机器中来回移动,这是机器的基本操作之一.因此,磁带上的任何符号最终都可以有一局.(图灵1948年,第61页)

如果要将这些操作映射到能够解释汇编器/二进制指令的处理器上完成的操作 - 哪些操作将被映射?

(我知道从这个问题中固有的Turing机器到Von Neuman机器的跳跃)

assembly turing-machines von-neumann

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

语言超过{1}这是可识别但不可判定的?

什么是字母{1}*上的语言的例子,它是可识别但不可判定的?

我找到一个这方面的例子很麻烦.经过长时间的搜索,我仍然对这个答案感到好奇.

提示非常受欢迎.

computation

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

为什么默认情况下不启用-Wstrict-prototypes?

我了解到,使用空白参数列表定义函数与使用参数列表定义函数不同void.请参阅(使用C void参数"void foo(void)"或"void foo()"是否更好?).

这种误解似乎对我来说是一个常见的错误,我很惊讶,即使我通过,也gcc没有clang发出任何警告-Wall -Wextra -pedantic.

为什么是这样?

gcc clang compiler-warnings

7
推荐指数
2
解决办法
4744
查看次数

为什么这是一台无效的图灵机?

在进行考试修订时,我无法回答Sipser所着的"计算理论导论"一书中的以下问题.不幸的是,书中没有解决这个问题的方法.

解释为什么以下不是合法的图灵机.

M = {

输入是变量x1,...,xn上的多项式p

  1. 尝试将x1,...,xn的所有可能设置为整数值
  2. 评估所有这些设置的p
  3. 如果这些设置中的任何一个评估为0,则接受; 否则拒绝.}

这真让我抓狂!我怀疑是因为整数集是无限的?这是否超出了字母表允许的大小?

state-machine turing-machines computation-theory

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

为什么有一定数量的图灵机?

在Michael Sipser的计算理论导论中,他指出:

"有些语言不具有可判定性,甚至图灵无法识别,因为有无数种语言,但只有相当多的图灵机.因为每个图灵机都能识别单一语言,而且语言比图灵机器多,有些语言无法识别任何图灵机"(178).

图灵机不是可以模拟任何计算机算法的假想机器吗?从理论上讲,您是否可以提出无数的算法?我无法绕过这个概念.我将非常感谢"像我5'这样的解释",但当然,任何帮助都比没有好.

theory algorithm turing-machines computation

3
推荐指数
1
解决办法
1478
查看次数

逻辑编程 - 只有一个功能符号的子集图灵 - 完成?

如果我有一个只包含一个功能符号的逻辑编程子集,我能做什么吗?

我想我不能,但我不确定.如果编程语言是图灵完备语言,它可以做任何用户想要的事情.我被告知这意味着它必须能够执行if..then..else命令,递归和自然数应该被定义.

任何帮助和意见将不胜感激!

prolog logic-programming subset turing-complete

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

Xcode 4中的boost :: asio :: ssl链接错误

我在Xcode中有一个简单的项目 - 它实际上没有做任何事情,只包括boost::asio::ssl:

// main.cpp

#include <iostream>
#include <string>
#include <boost/asio.hpp>
#include <boost/asio/ssl.hpp>

using namespace std ;

int main (int argc, const char * argv [] ) {
    return 0 ;
}
Run Code Online (Sandbox Code Playgroud)

我把它链接到libssl.dyliblibboost_system.dylib,并在构建时得到这个:

Undefined symbols for architecture x86_64:
  "_CONF_modules_unload", referenced from:
      boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in main.o
  "_CRYPTO_cleanup_all_ex_data", referenced from:
      boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in main.o
  "_CRYPTO_num_locks", referenced from:
      boost::asio::ssl::detail::openssl_init_base::do_init::do_init() in main.o
  "_CRYPTO_set_id_callback", referenced from:
      boost::asio::ssl::detail::openssl_init_base::do_init::do_init() in main.o
      boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in main.o
  "_CRYPTO_set_locking_callback", referenced from:
      boost::asio::ssl::detail::openssl_init_base::do_init::do_init() in main.o
      boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in main.o …
Run Code Online (Sandbox Code Playgroud)

c++ openssl compiler-errors boost-asio xcode4

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