我正在尝试用C++ 实现Eratosthene筛选.但是经过多次尝试后,我总是遇到运行时错误.我认为这与使用的迭代器的状态在某处被破坏有关.我不能把手指放在它上面.这是我的代码:
//Sieves all multiples of the current sequence element
bool multiple_sieve(std::list<int>& num_list)
{
std::list<int>::iterator list_iter(num_list.begin());
std::list<int>::reverse_iterator last_element_iter(num_list.rbegin());
for(std::list<int>::iterator elements_iter(++list_iter);
elements_iter != num_list.end();)
{
if((*elements_iter % *list_iter == 0) &&
(*elements_iter <= *last_element_iter) && (*list_iter != 1))
num_list.erase(elements_iter);
else ++elements_iter;
}
return true;
}
std::list<int>& prime_sieve(std::list<int>& num_list)
{
for(std::list<int>::iterator list_iter(num_list.begin());
list_iter != num_list.end(); ++list_iter)
multiple_sieve(num_list);
return num_list;
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么?什么导致运行时错误?
更新:当我在我的测试中运行它时,我收到错误消息"列表迭代器不兼容".
在我的应用程序中,我有两个类:一个实际记录到数据库的记录器和一个什么都不做的虚拟记录器(在禁用记录时使用).这是整个DummyLog类:
class DummyLog(object):
def insert_master_log(self, spec_name, file_name, data_source,
environment_name):
pass
def update_master_log(self, inserts, updates, failures, total):
pass
Run Code Online (Sandbox Code Playgroud)
一方面,我应该放手,不测试它,因为没有任何代码可以测试.但是,我的"受测试感染"的本能告诉我,这是一个借口,课堂的简单性意味着我应该更愿意测试它.我只是在考虑要测试什么.
有任何想法吗?或者我应该放手,不写任何测试?
我知道使用匿名函数,本地堆栈变量被提升为一个类,现在在堆上等等.所以以下方法不起作用:
using System;
using System.Collections.Generic;
using System.Linq;
namespace AnonymousFuncTest
{
class Program
{
static void Main(string[] args)
{
foreach (var f in GetFuncs())
{
Console.WriteLine(f());
}
Console.ReadLine();
}
static IEnumerable<Func<int>> GetFuncs()
{
List<Func<int>> list = new List<Func<int>>();
foreach(var i in Enumerable.Range(1, 20))
{
list.Add(delegate() { return i; });
}
return list;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道将GetFuncs更改为可行的方法:
static IEnumerable<Func<int>> GetFuncs()
{
foreach(var i in Enumerable.Range(1, 20))
{
yield return () => i;
}
}
Run Code Online (Sandbox Code Playgroud)
但是说我做的事情如下:
foreach (var arg in someArgList)
{
var …Run Code Online (Sandbox Code Playgroud) 我有一个IntPtr封装在一个非托管/管理边界上,对应一个Icon Handle.通过FromHandle()方法将它转换为Icon是微不足道的,直到最近才令人满意.
基本上,我已经有足够的线程怪异了,因为我一直在玩MTA/STA舞蹈以保持托管的WinForm不会破坏应用程序的主要(WPF-tastic)UI太脆弱而无法坚持.所以WinForm必须要去.
那么,我怎样才能获得Icon的ImageSource版本?
注意,我尝试过ImageSourceConverter无济于事.
顺便说一下,我可以获得一些但不是所有涉及的图标的底层资源,它们通常存在于我的应用程序的程序集之外(事实上,它们通常存在于非托管的dll中).
我注意到stackoverflow.com在他们的页面上没有文件扩展名.我如何使用aspx网站执行此操作?
我不确定,但也许有办法确定iPhone屏幕上的手指压力?我知道它没有压力传感器,但如果它可以通过某种方式访问,它可以通过触摸"足迹"以某种方式计算出来.
将你的rails应用程序的javascript放入.js.erb文件而不是将其放入application.js文件中有什么好处?我有一个企业的创建按钮,所以我应该将代码放入create.js.erb文件或将其放入我的application.js使用:
$("#business_submit").click(function() {}
Run Code Online (Sandbox Code Playgroud)
除此之外,我有我的创建按钮
$('.error').hide();
$("#business_submit").click(function() {
// validate and process form here
$('.error').hide();
var name = $("input#business_name").val();
if (name == "" || name == "Required Field") {
$('#namelabel').show()
$("#business_name").focus();
return false;
}
var address = $("#business_address").val();
if (address == "" || address == "Required Field") {
$('#addresslabel').show();
$("#business_address").focus();
return false;
}
var city = $("#business_city").val();
if (city == "" || city == "Required Field") {
$('#citylabel').show();
$('#business_city').focus();
return false;
}
var state = $("#business_state").val();
if (state == "" || …Run Code Online (Sandbox Code Playgroud) 我想从类的字符串名称实例化一个类的一个实例.(使用Class.forName().newInstance().)
这是问题所在:我希望该实例是单例..我可以使用单例模式执行此操作,除了newInstance调用类的默认构造函数,并且使用单例,该构造函数必须是"私有"..
有解决方案吗?我可以想到一个不太优雅的方法(使用hashmap作为查找表..),但更喜欢更好的解决方案..
谢谢,
该程序具有用户输入name/ age对,然后使用类输出它们.这是代码.
#include "std_lib_facilities.h"
class Name_pairs
{
public:
bool test();
void read_names();
void read_ages();
void print();
private:
vector<string>names;
vector<double>ages;
string name;
double age;
};
void Name_pairs::read_names()
{
cout << "Enter name: ";
cin >> name;
names.push_back(name);
cout << endl;
}
void Name_pairs::read_ages()
{
cout << "Enter corresponding age: ";
cin >> age;
ages.push_back(age);
cout << endl;
}
void Name_pairs::print()
{
for(int i = 0; i < names.size() && i < ages.size(); ++i)
cout << names[i] << " …Run Code Online (Sandbox Code Playgroud) 尽我所能,我无法获得RegEx来排除空格或单引号.
如果我在SQL中,我会使用PATINDEX.
如果我可以否定的话,或者不是空格或单引号的正面匹配......
我试过了(仅限单引号)
\w*[^']\w*^\w*[^']\w*$请把我从痛苦中解救出来让我今晚能入睡.
编辑:
c# ×2
c++ ×2
javascript ×2
algorithm ×1
asp.net ×1
cocoa-touch ×1
constructor ×1
default ×1
forms ×1
instance ×1
iphone ×1
java ×1
jquery ×1
logging ×1
polymorphism ×1
python ×1
regex ×1
singleton ×1
testing ×1
uikit ×1
unit-testing ×1
url ×1
windows ×1
winforms ×1
wpf ×1