我想做两件事
创建一个私有实例变量,它是一个映射
在我的构造函数中创建一个空实例,它实现了一个地图并将其分配给前一个私有实例变量.
我拥有的私有实例是
private final Map<Character, SortedSet<String>> thesaurus =
new HashMap <Character, SortedSet<String>>();
Run Code Online (Sandbox Code Playgroud)
但是如何在构造函数中创建一个实例变量,该变量将在构造函数创建时引用私有变量同义词库.
例如
public class Book{
private final Map<Character, SortedSet<String>> thesaurus =
new HashMap <Character, SortedSet<String>>();
public Book(){
super();
/* What do i put here as an empty instance
* variable that implements a map and how
* do i assign it to thesaurus?
*/
}
Run Code Online (Sandbox Code Playgroud) 我正在为std :: cin >>序列寻找一些模拟scanf("%1d",&sequence).
例如:
for ( ; scanf("%1d", &sequence) == 1; ) {
printf("%d ", sequence);
}
Run Code Online (Sandbox Code Playgroud)
stdin: 5341235
stdout: 5 3 4 1 2 3 5
它在C++中是如何工作的?
for ( ; std::cin >> *some_magic* sequence; ) {
std::cout << sequence << " ";
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个 C 程序,该程序在不直接使用乘法运算符的情况下执行两个数字的乘法,并且它应该考虑足够大的数字,以便即使这两个数字的通常加法也不能通过直接加法来执行。
当我尝试(并且成功地)编写一个使用字符串执行加法的 C 程序时,我受到了这一点的激励,我执行了以下操作:
#include<stdio.h>
#define N 100000
#include<string.h>
void pushelts(char X[], int n){
int i, j;
for (j = 0; j < n; j++){
for (i = strlen(X); i >= 0; i--){
X[i + 1] = X[i];
}
X[0] = '0';
}
}
int max(int a, int b){
if (a > b){ return a; }
return b;
}
void main(){
char E[N], F[N]; int C[N]; int i, j, a, b, c, d = 0, e;
printf("Enter the …Run Code Online (Sandbox Code Playgroud) 所以我的问题是如何在C中更具体地做到这一点.我知道O(logn)通常意味着我们将以某种方式拆分其中一个参数来使用递归.
我正在努力实现为k = 0至x N的总和ñ.例如,exponent_sum(x,n)将是这种情况下的参数.
然后,
exponent_sum(4, 4)将是4 0 + 4 1 + 4 2 + 4 3 + 4 4 = 341.
我不知道从哪里开始.一些提示将非常感激.
我正在尝试读取文本文件并将数据存储在矩阵中.我在读完每一行后打印结果,似乎它正在工作,但如果我在最后打印矩阵,我的结果不一样.我找不到我做错了什么!
int main()
{
int i,j;
double value[10000][2];
FILE *archivo;
archivo = fopen("pruebas.txt","r");
if (archivo == NULL)
exit(1);
i=0;
while (feof(archivo) == 0)
{
fscanf( archivo, "%lf %lf %lf", &value[i][0],&value[i][1],&value[i][2]);
printf("%10.0f %f %f\n", value[i][0], value[i][1], value[i][2]);
i++;
}
printf("Your matrix:\n");
for(j = 0; j < i; j++)
printf("%10.0f %10.3f %10.3f\n", value[j][0], value[j][1], value[j][2]);
fclose(archivo);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是该程序的输出:
1 2 3
4 5 6
7 8 9
Your matrix:
1 2 4
4 5 7
7 8 9
Run Code Online (Sandbox Code Playgroud) 我在一个实时站点(以及它相应的开发站点)上遇到一个奇怪的错误,其中 Postgres 数据库不想启动。这个问题突然出现,不知道是什么原因造成的。
尝试在终端中启动会出现可怕的“不接受 5432 连接”
sudo -u postgres psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)
如果我尝试重新启动 postgres:
service postgresql restart
* Restarting PostgreSQL 9.1 database server * The PostgreSQL server failed to start. Please check the log output:
2015-07-15 13:49:24 EEST LOG: database system was interrupted; last known up at 2015-07-12 20:02:18 EEST
2015-07-15 13:49:24 EEST FATAL: could not open file …Run Code Online (Sandbox Code Playgroud) 我正在尝试在OSX El Capitan上编译我的代码.这是我的Makefile
TARGET = proj_name
CC = gcc
# compiling flags
CFLAGS = -std=c99 -Wall -I.
LINKER = gcc -o
# linking flags
LFLAGS = -Wall -I. -lm
SRCDIR = src
OBJDIR = obj
BINDIR = bin
SOURCES := $(wildcard $(SRCDIR)/*.c)
INCLUDES := $(wildcard $(SRCDIR)/*.h)
OBJECTS := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
rm = rm -f
$(BINDIR)/$(TARGET): $(OBJECTS)
@$(LINKER) $@ $(LFLAGS) $(OBJECTS)
@echo "Linking complete!"
$(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c
@$(CC) $(CFLAGS) -c $< -o $@
@echo "Compiled "$<" successfully!"
.PHONEY: clean
clean:
@$(rm) …Run Code Online (Sandbox Code Playgroud) 我有一个以下格式的文件:
1: some_basic_info_in_this_line
2: LOTS_OF_INFO_IN_THIS_LINE_HUNDREDS_OF_CHARS
3: some_basic_info_in_this_line
4: LOTS_OF_INFO_IN_THIS_LINE_HUNDREDS_OF_CHARS
...
Run Code Online (Sandbox Code Playgroud)
这种格式重复数万次,文件最多可达50 GiB +.我需要一种有效的方法来处理这种格式的第2行.我愿意使用C,C++ 11 STL或者提升.我已经查看了有关SO上的文件流的各种其他问题,但我觉得我的情况是独特的,因为文件很大,只需要每四行中有一行.
内存映射文件似乎是我读过的最有效的,但是映射50+ GB文件会占用大多数计算机RAM(你可以假设这个应用程序将被"普通"用户使用 - 比如4-8 GiB RAM).此外,我只需要一次处理其中一行.以下是我目前正在做的事情(是的,我知道这不是有效的,这就是为什么我要重新设计它):
std::string GL::getRead(ifstream& input)
{
std::string str;
std::string toss;
if (input.good())
{
getline(input, toss);
getline(input, str);
getline(input, toss);
getline(input, toss);
}
return str;
}
Run Code Online (Sandbox Code Playgroud)
将mmap打破成块可以解决我的情况吗?反正我是否只能利用4行中的1行?谢谢您的帮助.
在编写模板时,我想将我的变量初始化为一个值,该值用作零或null数据类型.如果我将其设置为0x00,它将作为任何类型的零/ NULL?
例如
这是模板声明
template <class T>
...
T A=0x00;
Run Code Online (Sandbox Code Playgroud)
现在,如果我定义了一个T => std :: string类型的实例,那么上面的语句是NULL什么?
怎么样" int"和" unsigned int".两者都用作"0"?
我正在学习C并且困惑为什么在主要内部创建的数组不会在函数内部发生变化,我假设传递的数组是一个指针,并且更改指针应该更改数组,对吧?谁可以解释在这种情况下发生了什么?
thx的帮助.
int main(){
int i, length = 10;
int array[length];
for (i = 0 ; i < length ; i++)
array[i] = i * 10;
printf("Before:");
print(array, length);
change(array, length);
printf("After:");
print(array, length);
return 0;
}
// Print on console the array of int
void print(int *array,int length)
{
int i;
for(i = 0 ; i < length ; i++)
printf("%d ", array[i]);
printf("\n");
}
// Change the pointer of the array
void change(int *array,int length)
{
int *new …Run Code Online (Sandbox Code Playgroud) c ×5
c++ ×3
algorithm ×2
arrays ×2
big-o ×1
boost ×1
c++11 ×1
function ×1
gcc ×1
java ×1
macos ×1
matrix ×1
performance ×1
pointers ×1
postgresql ×1
string ×1
text-files ×1
ubuntu-14.04 ×1