可能重复: 如何parsing一个string在C + +中的int? 如何将C ++string转换为int? 假定您期望string中包含实际的数字(例如,“1”,“345”,“38944”)。 另外,让我们假设你没有提升,而且你真的想用C ++的方式来做,而不是C老式的方式。
这是我的代码: int size = 100000000; double sizeInMegabytes = (size * 8.0) / 1024.0 / 1024.0; //762 mb double[] randomNumbers = new double[size]; exception:types“System.OutOfMemoryException”的exception被抛出。 我在这台机器上有4GB内存当我启动这个运行时, 2.5GB是免费的 ,在PC上有足够的空间来处理100000000个随机数的762mb。 在可用内存的情况下,我需要尽可能多地存储随机数。 当我投入生产时,盒子上会有12GB,我想利用它。 CLR是否将我限制为默认的最大内存? 我如何要求更多? 更新 我认为把这个分成更小的块,并增加我的内存需求将有助于,如果这个问题是由于内存碎片 ,但它不是我不能超过256MB总ArrayList的大小,无论我调整blockSize 。 private static IRandomGenerator rnd = new MersenneTwister(); private static IDistribution dist = new DiscreteNormalDistribution(1048576); private static List<double> ndRandomNumbers = new List<double>(); […]
如何使用标准模板库std::sort()来对一个声明为int v[2000]的数组进行sortingint v[2000] ; C ++是否提供了一些可以获得数组的开始和结束索引的函数?
我想将string转换为char数组,但不是char* 。 我知道如何将string转换为char* (通过使用malloc或我的方式发布在我的代码中) – 但这不是我想要的。 我只是想将string转换为char[size]数组。 可能吗? #include <iostream> #include <string> #include <stdio.h> using namespace std; int main() { // char to string char tab[4]; tab[0] = 'c'; tab[1] = 'a'; tab[2] = 't'; tab[3] = '\0'; string tmp(tab); cout << tmp << "\n"; // string to char* – but thats not what I […]
我将PNG作为embedded式资源存储在程序集中。 从同一个程序集中,我有这样的代码: Bitmap image = new Bitmap(typeof(MyClass), "Resources.file.png"); 名为“file.png”的文件存储在“Resources”文件夹(Visual Studio中)中,并被标记为embedded资源。 代码失败,例外说: 资源MyNamespace.Resources.file.png不能在类MyNamespace.MyClass中find 我有相同的代码(在不同的程序集中,加载不同的资源),它的工作原理。 所以我知道这个技术是很好的。 我的问题是我花了很多时间去弄清楚正确的道路是什么。 如果我可以简单地查询(例如在debugging器中)程序集以find正确的path,这将为我节省一大笔头痛的负担。
使用WinForms; 有没有更好的方法来find一个组的选中的RadioButton? 在我看来,下面的代码不应该是必要的。 当你检查一个不同的RadioButton,那么它知道哪一个取消选中…所以它应该知道检查哪个。 如何在不做大量if语句(或开关)的情况下获取这些信息。 RadioButton rb = null; if (m_RadioButton1.Checked == true) { rb = m_RadioButton1; } else if (m_RadioButton2.Checked == true) { rb = m_RadioButton2; } else if (m_RadioButton3.Checked == true) { rb = m_RadioButton3; }
我正在查看stl向量的API文档,并注意到向量类中没有方法可以删除具有特定值的元素。 这似乎是一个普遍的操作,似乎有些奇怪,没有内置的方式来做到这一点。
当我使用XML序列化器来序列化一个DateTime ,它被写成以下格式: <Date>2007-11-14T12:01:00</Date> 当通过XSLT样式表传递这个输出HTML时,我该如何格式化呢? 在大多数情况下,我只需要date,当我需要的时候,我当然不希望在那里的“有趣的T”。
对了,我看了这篇文章: WinMain,main和DllMain在C ++中的区别 我现在知道WINMAIN用于窗口应用程序, main()用于控制台。 但是阅读这篇文章并没有真正告诉我为什么有什么不同。 我的意思是把不同的主要function分开来启动一个程序是什么意思? 这是由于性能问题? 或者是什么?
我有一个约30000行的数据,我想加载到sqlite3数据库的文件。 有没有比为每行数据生成插入语句更快的方法? 数据是空格分隔的,并直接映射到sqlite3表。 是否有任何种类的批量插入方法来添加卷数据到数据库? 有没有人devise了一些非常好的方法来做到这一点,如果它不是内置的? 我应该问这个问题,有没有一个C ++的方法来从API中做到这一点?