小编Tam*_*lei的帖子

C++中的多个if语句

我正在做第一个项目欧拉问题,我刚刚做了这个

#include <iostream>
using namespace std;

int main(){

int threes =0;
int fives = 0;
int both = 0;
for (int i = 0; i < 10; i++){

       if(i%3==0){
   threes += i;
   }

       if(i%5==0){
   fives += i;
   }

      if ( i % 5 == 0 && i % 3 == 0){
      both += i;
  }

}

cout << "threes = " << threes << endl;
cout << "fives = " << fives << endl;
cout << "both = " << …
Run Code Online (Sandbox Code Playgroud)

c++ if-statement

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

为什么Qt使用qint64来代替数据长度和偏移量而不是quint64?

QIODevice并且相关的类qint64用于位置和大小,这是有符号的数据类型.是否需要表达负面价值观?因为否则这种类型的8个字节可用于表示更大的尺寸,不是吗?

qt types

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

转发声明 - django没有管理页面?

这可能是数据库设计问题,但我无法弄清楚.在其他几个方面,我有这些模型:

class User(models.Model):
  name = models.CharField( max_length=40 )
  # some fields omitted
  bands = models.ManyToManyField( Band )
Run Code Online (Sandbox Code Playgroud)

class Band(models.Model):
  creator = models.ForeignKey( User )
  # some fields omitted
  name = models.CharField( max_length=40 )
Run Code Online (Sandbox Code Playgroud)

所以基本上,我有一个用户实体,它与一个带实体有很多很多关系.扭曲的是,我想要一个特殊的用户,他在网站上"创建"了乐队以获得特殊的编辑功能.所以我继续前进,并添加了一个名为creator的ForeignKey.代码无法运行,因为Band来自源中的User.所以我向前宣布class Band(models.Model): pass.遗憾的是,这似乎并不是一个好主意,因为现在Band是唯一没有在django admin中显示任何界面元素的模型(Bands模型就在那里,它只是无法编辑).

我的问题是,我应该在模型中做出哪些改变才能使这项工作正常进行?(如果有的话)

python django database-design circular-dependency forward-declaration

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

C++向量中向量的动态分配?

我现在正在工作,vector我有一个有趣的情况,我需要帮助.

我有一个矢量矢量,定义如下:

vector< vector<int> > list;
Run Code Online (Sandbox Code Playgroud)

我正在使用标准输入加载数字cin >> helpVar;,每当我得到0(零)时我想创建新的整数向量,这将被放入这个"主容器" list.

当然我不知道零号会出现多少次 - 这是用户所依赖的.所以我也不知道,程序会添加多少向量.

但我不知道,究竟是怎么做到的.如果我使用C#或其他类似垃圾收集的语言,我可能会写:

if(helpVar == 0)
{
   list.push_back(new vector<int>);
}
Run Code Online (Sandbox Code Playgroud)

但是这种结构在C++中不起作用.

所以我的问题是,我应该如何应对这种情况才能使其发挥作用?或者我只是想错了,它应该以另一种方式完成?

谢谢你的回答.

c++ stl

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

如何使用 std::shared_ptr 检测或避免循环引用?

我知道有weak_ptr打破循环,但这是一个修复,在发现问题后。是否有可用于检测或避免循环引用的模式或工具?

c++ design-patterns smart-pointers cyclic-reference

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

如何在 capnproto C++ 生成的代码中设置列表的字符串项?

我有这样的 capnproto 定义:

struct School {
  name @0 :Text;
  address @1 :Address;
  foundation @2 :Date;
  emailAddresses @3 :List(Text);
}
Run Code Online (Sandbox Code Playgroud)

我想在构建器中使用与此类似的代码设置 emailAddresses 字段(但这不会编译):

static School::Builder random_School() {
  capnp::MallocMessageBuilder msg;
  School::Builder result = msg.initRoot<School>();
  result.setName(rand_str(36));
  result.setAddress(random_Address());
  result.setFoundation(random_Date());
  result.initEmailAddresses(item_count);
  for (size_t i = 0; i < item_count; ++i) {
    result.getEmailAddresses()[i] = rand_str(37); // rand_str returns std::string
  }
  return result;
}
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

c++ capnproto

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

是否有System.IO.Stream的接口?

我正在编写一个需要接受对象的类,记录它的当前状态,更新对象,并将其传递给另一个类.唯一的问题是你只能从一个类继承而我需要在我的项目中继承一个类.我对System.IO.Stream很感兴趣,因为我可以根据需要将此类移动到它自己的线程,而不需要大多数套接字和其他IPC方法.主要问题是,是否存在System.IO.Stream的接口?如果没有,有没有办法获得我想要的功能而不牺牲我依赖的项目关键数据?(我很抱歉,如果我听起来有点不连贯,我真的不确定如何说出这个问题.)

c# mono

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

$ _SERVER与WSGI环境参数

我正在设计一个网站.它处于非常早期阶段,我必须决定是否使用服务器提供的SingleSignOn服务.(这是一个校园网站,越来越多的网站在这里使用SSO,所以一般来说这是一个好主意).目标平台很可能是通过mod_wsgi成为django.但是,此服务提供的任何文档都具有php代码.此方法严重依赖于使用自定义$_SERVER['HTTPsomething']变量.不幸的是,现在我无法访问此环境.

(如何)我可以在django中访问这些自定义变量?根据WSGI文档,environ变量应包含尽可能多的变量.我可以确定我可以访问它们吗?

php python django environment-variables

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

libc如何工作?

我正在编写一个MIPS32仿真器,并希望在使用gcc编译C程序时可以使用整个标准C库(可能使用GNU扩展).

据我所知,I/O由MIPS32架构上的系统调用处理.要使用libc/glibc成功运行程序,如何判断我需要模拟哪些系统调用?(没有反复试验)

编辑:请参阅示例,了解syscalls的含义.

(如果您有兴趣,可以在这里查看项目,欢迎任何反馈.请记住,它处于非常早期的阶段)

c c++ emulation libc mips32

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

如何在C++中的任意函数周围创建一个字符串参数化的包装器?

我希望以一种任意函数的方式生成包装器

R func(A a, B b, ...)
Run Code Online (Sandbox Code Playgroud)

一个

std::function<std::string (std::vector<std::string>)>
Run Code Online (Sandbox Code Playgroud)

返回包装,f以便参数从向量中获取并且(尝试)转换boost::lexical_cast为,返回值相同.例如:

int add(int a, int b);

auto f = magic_wrap(&add);
auto result = f(std::vector<std::string>{"2", "3"});
// result == "5"
Run Code Online (Sandbox Code Playgroud)

我的直觉告诉我应该可以使用可变参数模板,但我仍然坚持获取函数的返回和参数类型.这有可能以某种方式,如果是这样,怎么样?

c++ templates c++11

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