小编dea*_*mer的帖子

memset()的意外行为

我在所有元素中用99初始化数组

#include<iostream>
#include<cstring>
int main(){
    int a[10];
    memset(a,99,10);
    std::cout<<a[0]<<std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但我得到的输出是出乎意料的.

输出: -

1667457891

这个memset函数异常行为背后的原因是什么?

c++ cstring

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

在不同的包中扩展WebSecurityConfigurerAdapter类时,自定义安全性不起作用

WebSecurityConfigurerAdapter除了包含类的包之外,我还在另一个包中扩展@SpringBootApplication.然后它没有工作生成默认用户名和密码.

当它在同一个包装中时它工作正常.

package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;



@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

扩展WebSecurityConfigurerAdapter的

package com.securitymodule;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
@EnableWebSecurity
public class WebSecurity extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        // TODO Auto-generated method stub
        super.configure(http);
        http.antMatcher("/**").authorizeRequests().anyRequest().hasRole("USER").and().formLogin();
    }


    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
        .inMemoryAuthentication()
        .withUser("user").password("password").roles("USER");
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

java spring-boot

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

虚拟继承中的类的sizeof

使用虚拟继承时类的大小如下

ABase=4(sizeof imem)
BBase=12(sizeof imem+ABase+VBase_ptr)
CBase=12(sizeof imem+ABase+VBase_ptr) 
Run Code Online (Sandbox Code Playgroud)

这是有道理的,但我不明白为什么大小ABCDerived是24.

class ABase{ 
        int iMem; 
}; 

class BBase : public virtual ABase { 
        int iMem; 
}; 

class CBase : public virtual ABase { 
        int iMem; 
}; 

class ABCDerived : public BBase, public CBase { 
        int iMem; 
}; 
Run Code Online (Sandbox Code Playgroud)

c++ virtual-inheritance

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

有关harfbuzz-ng或API详细信息的文档

我正在研究harbuzz旧的.现在已经出现了新版本的harbuzz-ng.现在这个结构在旧代码的比较中完全改变了.没有API文档,它真的很难工作/使用这个库.我谷歌关于它,但没有找到任何相关细节.

我该如何开始使用它.任何测试程序,以了解此库的输入和输出.

如果任何人有来自API或任何API参考文档的测试/ hello世界类型,请分享.

harfbuzz

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

应用程序在本机代码中进行外部存储的路径

我正在尝试为我的应用程序编写本机库,以便我可以在本机代码中执行所有文件操作.我读到了getExternalStorageDirectory()给出目录外部存储的路径.

我的问题是如何在不将位置硬编码到某些字符串的情况下访问相同内容?android ndk中是否有任何函数可以getExternalStorageDirectory()在C++代码中提供与java 相同的功能?

c++ java-native-interface storage android android-ndk

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

静态和非静态相互重载

这两个功能是否过载

class yogi{

   public static void fun(){
    System.out.println("Fun");
   }    

   public void fun(int a,int b){
    System.out.println("int");
   }

}
Run Code Online (Sandbox Code Playgroud)

java overloading

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

生成字符数组的所有排列

在阅读了很多"生成字符串排列"的帖子之后,我尝试用Java编写它.1)将第一个字符开始与组合中剩余的字符进行交换.

但是当我尝试使用递归实现它时,它只给了我一个长度为3的字符串的字符串:(.

public static void main(String[] args) {
    char a[]= "123".toCharArray();
    printPermutation(a,0);

}
private static void printPermutation(char[] a, int i) {
    if(i==a.length-1)
        System.out.println(new String(a));
    else{
        for(int x=i+1;x<a.length;x++)
        {
            swap(a,i,x);
            printPermutation(a,x );
            swap(a,i,x);
        }
    }
}
private static void swap(char[] a, int i, int x) {
        char t=a[i];
        a[i]=a[x];
        a[x]=t;
    }
Run Code Online (Sandbox Code Playgroud)

我期待打印6个字符串.

预期:123,132,213,231,312,321

java string algorithm recursion data-structures

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

Android Compat 类如何工作

有两个班级

1) AppCompatActivity
2) GestureDetectorCompat.
Run Code Online (Sandbox Code Playgroud)

根据 android 文档,这些类是为旧的 android 平台提供支持的。我想知道这是如何工作的。尽管 GestureDetector 和 GestureDetectorCompat 具有相同的 API。GestureDetectorCompat 如何在不存在 GestureDetector 的旧平台上工作?

android

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

-O0,-O1和-g之间有什么区别?

我想知道使用-O0,-O1和-g来启用lib中的调试符号.有些人建议使用-O0来启用调试符号,有些人建议使用-g.

那么-g和-O0之间的实际差异是什么?-01和-O0之间的区别是什么,哪个最好用.

c c++ gcc

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

使用指针交换两个变量

我试图使用指针(特别是一个空指针)按引用编写交换函数,但我的代码不起作用.这是我的代码:

void swap(void *p1,void *p2) 
{
    int temp;   
    temp=*((int*)p2);
    p2=p1; 
    p1=&temp;
}

int main() 
{
    int i=4;
    int j=5; 
    cout<<i<<j<<endl;
    swap(&i,&j); 
    cout<<i<<j<<endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

c++ void-pointers

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