d**********u 发帖数: 3371 | 1 仔细想了一下 会不会是因为stream没有复制构造函数的关系? |
|
d****i 发帖数: 4809 | 2 Must be some errors in your Makefile.
I compiled using GCC 4.4 on CentOS without C++11 flag turned on. It returns
no error:
$ g++ -o dump dump.cpp
dump.cpp:
#include
#include //ostream_iterator
#include //cerr
#include //std::copy
template
void dump_to_file(const char* filename, const std::vector& v_d){
std::ofstream ofs(filename);
if(!ofs){
std::cerr<<"Unable to open the file to write!n";
return ;
}
std::... 阅读全帖 |
|
t***q 发帖数: 418 | 3 天,如何能让程序转得快点?
原帖在这里:
http://www.mitbbs.com/article_t0/Programming/31381809.html
主要是要做 title matching.
有两个 file, file A 162283 行 X 12 列。 File B 3695 行 X 6 列。用 A 的 第五
列和 B的第四列进行比较, 对 B 的第四列的每一行, 从 A的 那 162283 行中 找出
与之最相似的那一行。A 的第五列和 B 的第四列都是些影视作品的 title, 是一些长
短不一的 string. 我用的是 Levenshtein algorithm 算每一对string 的相似度,再
把相似度排序,从高到低,找出相似度最大的那一个 string, 也就是影视作品的
title, 加到 file B 对应的那一个title 那一行。再加入一个从file A 出来的对应的
一个id, 到 file B 里。算相似度前,我先对每个title 组成的string做预处理,去掉
“:”,”-“,”season”,”episode “ , 等一些词。... 阅读全帖 |
|
t***q 发帖数: 418 | 4 把 c++ 程序改成这样,快了许多,虽说程序不work,但至少说明,应该在算distance
之前就把 string processing 都做了:
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
size_t uiLevenshteinDistance(const std::string &s1, const std::string &s2)
{
const size_t m(s1.size());
const size_t n(s2.size())... 阅读全帖 |
|
T********i 发帖数: 2416 | 5 STL基本数据结构有vector,deque,unordered_map/set就好了。其它的那些比如list
还要额外分配内存,蛋疼。直接剽窃freebsd的queue一个头文件过来就好。
其实我是反对C 那套假模假样的。一个轮子拿来,比学一个新语言都费劲,那种我看
都不看。我选轮子很简单。要没外部依赖的,四个文件以内。
说一些根本的。stl的fstream类,竟然不能cloexec。只要有多进程场合就可能造成
leak。所以我不能用。
曾经boost的sleep_for都不用clock monotonic。改改系统时间就可能长睡不醒。
golang也有过这个毛病。貌似stl早期也有。
我现在就缺filesystem。这是我对boost的唯一依赖。现在貌似没好的替代方案。整个
行业之吹牛扯淡,可见一斑。
在我看来,基本上所有的开源库,架构都有巨大问题。我个人都不能用。nodejs从依赖
libev到自己做libuv。libuv已经不错了。但是他的架构还是不适合服务器端多核IO,
主要是threading model的问题。我不得不自己做一套edge triggered epoll的... 阅读全帖 |
|
s*********g 发帖数: 10 | 6 查一查fstream, ifstream这两个头文件吧 |
|
b********r 发帖数: 1080 | 7 我用atlas,程序里简单调用zgeev函数。编译没有错,没有警告。运行也不出错,但结
果完全不对。似乎函数根本没有被调用。
另外哪里能找到在C或者C++下调用Blas/Lapack函数的具体格式?我这里函数参数还是
在网上搜的。完全没有相关的手册。难道Blas/Lapack只是给fortran用的?
程序如下
#include
#include
#include
#include
#include
using namespace std;
typedef complex dcomplex;
extern "C" void zgeev_( char* jobvl, char* jobvr, int* n, dcomplex* a,
int* lda, dcomplex* w, dcomplex* vl, int* ldvl, dcomplex*
vr, int* ldvr, dcomplex* work, int* lwork, double* r... 阅读全帖 |
|
b********r 发帖数: 1080 | 8 我用atlas,程序里简单调用zgeev函数。编译没有错,没有警告。运行也不出错,但结
果完全不对。似乎函数根本没有被调用。
另外哪里能找到在C或者C++下调用Blas/Lapack函数的具体格式?我这里函数参数还是
在网上搜的。完全没有相关的手册。难道Blas/Lapack只是给fortran用的?
程序如下
#include
#include
#include
#include
#include
using namespace std;
typedef complex dcomplex;
extern "C" void zgeev_( char* jobvl, char* jobvr, int* n, dcomplex* a,
int* lda, dcomplex* w, dcomplex* vl, int* ldvl, dcomplex*
vr, int* ldvr, dcomplex* work, int* lwork, double* r... 阅读全帖 |
|
Y********6 发帖数: 28 | 9 【 以下文字转载自 CS 讨论区 】
发信人: Yolanda886 (Yolanda886), 信区: CS
标 题: 20个包子,求解c++基础问题
发信站: BBS 未名空间站 (Sun Feb 3 10:06:51 2013, 美东)
刚开始学,第三堂课就遇到困难。。。实在弄不出来。。。
题目是这样的
* Write a program that reads from a file called input.txt until the file
contains the word end.
* For each word you encounter, you will determine if the word is
alphabetically before or after the previous encountered word.
* For a word that is alphabetically after the previous word, write the word
to the screen and then say AFTER. For words... 阅读全帖 |
|
l********a 发帖数: 1154 | 10 是c++不是c吧,那用string吧,别用char了
#include
#include
#include
using namespace std;
int main()
{
ifstream fin("test.txt");
string curWord, lastWord = "";
fin >> curWord;
while (curWord.compare("end")!=0)
{
if (lastWord.empty())
{
cout << curWord << " COMES FIRST" << endl;
}
else if (curWord>lastWord)
{
cout << curWord << " AFTER " << lastWord << endl;
}
else if (curWord阅读全帖 |
|
M*******r 发帖数: 165 | 11 stack overflow在main后面的{
会是怎么回事?
附上code:
//#include
#include
#include
#include
#include "BarGame.h"
#include
#include
//#include "randomc.h"
//#include "mersenne.cpp" // code for random number generator of
type Mersenne twister
#include "require.h"
//#include "userintf.cpp" // define system specific user
interface
#include
#include
#include
//#in... 阅读全帖 |
|
j******y 发帖数: 180 | 12 using namespace std;
ifstream xx;
ofstream xx; |
|
|
z**k 发帖数: 378 | 14 贴error message
你应该先看Thinking,再看Lippman |
|
j********t 发帖数: 97 | 15 默认当前路径问题。
如果是在windows下命令行执行程序,把test文件和可执行文件放在同一目录下。
如果是在VC内按F5执行,请把test文件放在.sln文件所在的目录。 |
|
z****g 发帖数: 1978 | 16 ...你VC里没设置debug里的working dir吧.... |
|
c******d 发帖数: 98 | 17 就是路径问题啦,用FULL 路径,要么你编译之前先设置好working dir。 |
|
l********y 发帖数: 1327 | 18 路径问题,或者你如果用vista不是admin级别,无权操作当前文件夹
把文件夹改成全部权限 |
|
H***a 发帖数: 735 | 19 如果当前路径下没有该文件,open能够create这个文件,所以不应该是路径问题.
这个是楼上说的文件夹修改权限的限制问题. 如果在Unix下, 通过改变这个文件夹的写
权限, LZ应该很容易能够比较出来. |
|
j******y 发帖数: 180 | 20 outfile.open("xxx") will search the local directory for xxx. If exists, it
will be successful, else it will create a new one. Then you can run your code
successfully. The only possible issue is the directory does not exists or you do not have the privilege to create.
So, no problem with your code.
If you are under linux, use chmod to make writable. |
|
H***a 发帖数: 735 | 21 file "xxx" doesn't need to exist, if you have write permission for that
directory. It will create the file "xxx" locally and won't fail. |
|
w*******x 发帖数: 489 | 22 对,以(i,j)为右下角的最大矩阵(X,Y)。假设X轴向右,Y轴向下。
基本上就是f(i,j).Y = min( f(i-1,j).Y+1, f(i,j-1).Y),
f(i,j).X = min(f(i-1,j).X+1 加上点特殊情况。写的有点乱
#include
#include
#include
#include
#include |
|
l*********o 发帖数: 3091 | 23 #include
#include
#include |
|