小编Ric*_*ard的帖子

myArray [N],其中N = 1,000,000会返回错误,而myArray [1,000,000]则不会

文件扩展名:.cpp

我有以下代码:

int main() {
    int N; cin >> N;
    int myArray[N];
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我输入N为1,000,000,那么当我尝试运行该程序时,我会收到错误.但是,当我设置myArray[N]myArray[1000000],它没有.为什么会这样?

c++ variable-length-array

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

PHP会话现在还在使用吗?

是否有更现代的PHP会话替代方案,还是PHP会话仍然是存储信息的主要选择?我读到这个:https://pasztor.at/blog/stop-using-php-sessions.我还在学习PHP,坦白说,我很无能为力.

php session

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

通过 viewModels 将调用 Fragment 所使用的 ViewModel 共享给 DialogFragment 使用

我有一个SearchFragment带有以下代码的。

@AndroidEntryPoint
class SearchFragment :
    Fragment(),
    View.OnClickListener {
    ...
    private var _binding: FragSearchBinding? = null
    private val binding get() = _binding as FragSearchBinding
    private val viewmodel by viewModels<SearchViewModel>()

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    )
        : View {
        _binding = FragSearchBinding.inflate(inflater, container, false)
        binding.fragSearchSearchResultFilter.setOnClickListener(this)
        return binding.root
    }

    ...

    private fun showFilterDialog() {
        val dialog = FilterBottomSheetDialogFragment.newInstance()
        dialog.show(parentFragmentManager, "filter_bsd_tag")
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我正在展示一个FilterBottomSheetDialogFragment使用它的方法SearchFragment。我想将 ViewModel 传递SearchFragmentDialogFragment. 我的FilterBottomSheetDialogFragment. …

viewmodel android-fragments kotlin android-viewmodel android-ktx

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

通过 Javascript 更改 CSS 样式而不使用类是不好的做法吗?

$('.desktop_search').css({
    visibility: 'visible',
    width: '100%',
    opacity: '1'
});
Run Code Online (Sandbox Code Playgroud)

例如,我正在desktop_search使用上面的 JS 更改带有类的元素。首先在我的 CSS 样式表中提供所有这些 CSS 并直接执行会更好吗?toggleClass(new_class_name)或者如果我执行上述操作,情况是否相同?我这样问是因为我使用 JS 更改了很多 CSS 样式,我担心它可能会影响我的性能。我使用的大部分 JS 是在单击特定元素或滚动页面等时更改 CSS。

编辑

更多细节。例如,当我单击which is时,我希望一个元素this_element_will_expand从 展开width: 0为。因此,我将使用这个JS:width: 100%trigger_a_elementa

$('.trigger_a_element').click(function() {
    if ($('.this_element_will_expand').css('width') == 0)
        $('.this_element_will_expand').css('width', '100%');

    else
        $('.this_element_will_expand').css('width', '');
});
Run Code Online (Sandbox Code Playgroud)

javascript css

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

手动设置自定义验证消息时如何触发 HTML5 验证错误弹出窗口?

我有以下代码:

document.getElementById('testSubmit').addEventListener('click', (e) => {
  e.preventDefault();
  document.getElementById('test').setCustomValidity('THIS WILL ALWAYS BE AN ERROR, how do I display this message?');
  console.log(document.getElementById('test').validationMessage);
});
Run Code Online (Sandbox Code Playgroud)
<input id = "test" type = "email" required>
<input id = "testSubmit" type = "submit">
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我可以指出输入字段中发生了错误。但是,我想在我的错误弹出窗口中显示input.validationMessage由方法设置的消息setCustomValidity(未出现)。如何让 UI 验证错误弹出窗口出现。作为参考,我所指的弹出窗口可以在以下代码中看到:

document.getElementById('btn-submit').addEventListener("click", function() {
  if (!document.getElementById('form').checkValidity()) {
    document.getElementById("submit-hidden").click();
  }
});
Run Code Online (Sandbox Code Playgroud)
<form id="form" action="">

  <input type="text" required />
  <input id="submit-hidden" type="submit" style="display: none" />

</form>

<button id="btn-submit">Submit</button>
Run Code Online (Sandbox Code Playgroud)

当您提交但未填写该字段时,会显示弹出窗口“请填写此字段”。如何使用自定义验证消息触发该弹出窗口?

html javascript forms validation input

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

O(log n)求解1a + 2a ^ 2 + 3a ^ 3 + ... + na ^ n

任务是找到给定的方程n和的总和a。因此对于等式1a + 2a^2 + 3a^3 + ... + na^n,我们可以使用以下公式(从观察值中)找到序列中的第n个元素:

n-th element = a^n * (n-(n-2)/n-(n-1)) * (n-(n-3)/n-(n-2)) * ... * (n/(n-1))

我认为通过将上述公式修改为sum公式来简化n个元素的总和是不可能的。即使有可能,我也假设它将涉及使用exponent n,这将引入一个n时间循环。因此导致解不是O(log n)。我能得到的最佳解决方案就是简单地找到每个元素的比率a(n+1)/n,即将其应用于n-1元素以找到n-th元素。

我认为我可能会缺少一些东西。有人可以为我提供解决方案吗?

algorithm math

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

Cloud Functions 模拟器未在 Cloud Firestore 触发器上的 console.log() 上记录内容

我已成功运行 Firebase 模拟器:

E:\firebase>firebase emulators:start
i  emulators: Starting emulators: functions, firestore
!  Your requested "node" version "8" doesn't match your global version "10"
+  functions: Emulator started at http://localhost:5001
!  No Firestore rules file specified in firebase.json, using default rules.
i  firestore: Serving ALL traffic (including WebChannel) on http://localhost:808
0
!  firestore: Support for WebChannel on a separate port (8081) is DEPRECATED and
 will go away soon. Please use port above instead.
i  firestore: Emulator logging to firestore-debug.log
+  firestore: …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform firebase-tools google-cloud-functions google-cloud-firestore firebase-cli

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

ViewPager2 内项目的阴影被剪裁

我有一个活动,其中有NavHostFragment. 这NavHostFragment将承载三个片段,其中两个是FragmentAFragmentB。在 里面FragmentB,我有一个ViewPager2有两页的页面:PageAPageB,两者实际上都是由一个片段 构建的FragmentC。在每个PageA和里面PageB,我都有一个RecyclerView

这是 的布局 XML FragmentB

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <data>

    </data>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="@dimen/keyline_4"
        android:clipChildren="false"
        android:clipToPadding="false"
        tools:context=".ui.NavigationActivity">

        ...

        <androidx.viewpager2.widget.ViewPager2
            android:id="@+id/frag_course_view_pager"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginTop="@dimen/keyline_4"
            android:clipChildren="false"
            ... />

        <com.google.android.material.tabs.TabLayout
            android:id="@+id/frag_course_tablayout"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/keyline_4"
            ... />


    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)

如您所见,我已将片段的根布局设置clipChildrenfalse. 我也将ViewPager2's设置clipChildrenfalsePageA …

android android-layout android-view android-recyclerview android-viewpager2

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

如何使用 Hilt 将 Retrofit 注入到注入到 ViewModel 的 Repository?

我刚刚学习了手动依赖注入,但我正在尝试使用 Hilt 来处理这些依赖注入。

我想将 a 注入ViewModelFragment. 该片段包含在Activity. 现在,我已经添加了注解ApplicationActivityFragment

@HiltAndroidApp
class MovieCatalogueApplication : Application()
Run Code Online (Sandbox Code Playgroud)
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
    ...
}
Run Code Online (Sandbox Code Playgroud)
@AndroidEntryPoint
class HomeFragment : Fragment() {
    private lateinit var binding: FragHomeBinding
    private val viewmodel: HomeViewModel by viewModels()
    ...
Run Code Online (Sandbox Code Playgroud)

可以看出,我的HomeFragment依赖于HomeViewModel. 我已经添加了一个ViewModel 注入,如此处所述。

class HomeViewModel @ViewModelInject constructor(
    private val movieRepository: MovieRepository,
    private val showRepository: ShowRepository,
    @Assisted private val savedStateHandle: SavedStateHandle
) : ViewModel() …
Run Code Online (Sandbox Code Playgroud)

android dependency-injection dagger-2 retrofit2 dagger-hilt

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

struct C++中的一个函数

struct segment{
    int _gcd;
    int _count;
    segment(){
        _gcd=0;
        _count=0;
    }
    segment(int val)
    {
        _gcd=val;
        _count=1;
    }
    void mergee(segment left,segment right)
    {
        _count=0;
       _gcd=gcd(left._gcd,right._gcd);
       if(_gcd==left._gcd)
       {
           _count+=left._count;
       }
       if(_gcd==right._gcd)
       {
           _count+=right._count;
       }
    }
}seg[4*N];
Run Code Online (Sandbox Code Playgroud)

我在CodeForces中找到了Ant Colony问题的解决方案,偶然发现了https://w84iit.wordpress.com/2017/06/20/ant-colony-solutioncodeforces/.让我最困惑的是这struct部分.这是结构中的函数声明吗?我也看到有功能重载struct.我对内部函数不太熟悉struct,因为Google搜索还表明将structs 传递给外部函数更为常见.结构函数如何工作?他们只能修改在里面声明的变量struct吗?我可以退货吗?上面的示例仅使用内部函数struct来修改其变量值.

c++ struct

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

从强制班获得原始班

例如,我有三大类:AnimalDogCat; 在哪里Animal是抽象类,并将其属性继承到DogCat。说我的程序,我有一个用户可以输入的任意列表(我正在C#Form上执行此操作)。所以,我店所有的投入,无论他们是类Cat或者Dog,到我List<Animal>

现在,我想从中检索所述实例化的类List<Animal>并检索其原始类,无论是a Cat还是a Dog。有没有办法做到这一点?

c#

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

在 Kotlin 的 Firebase Auth 中获取当前登录的用户 ID

如何使用 Firebase Auth 在 Kotlin 中获取当前登录的用户 ID?我想拿这个 ID 来检索所述用户的完整信息以显示在一个 Activity 中。

android kotlin firebase-authentication

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

如何获得指向qsort第一个参数的向量中第一项的指针?

我知道要获取指向向量的第一个元素的指针,您可以执行以下操作:

&myvector[0];
//or
&myvector.front();
Run Code Online (Sandbox Code Playgroud)

我想使用上面的指针将其插入为的第一个参数qsort。问题是,当我这样做时:

qsort(graph->&edge[0], ..., ..., myComparatorFunction);
Run Code Online (Sandbox Code Playgroud)

我得到这个错误expected unqualified-id before '&' token。该graph指低于自制类的实例:

class Graph {
public:
    int V, E;
    vector<Edge> edge;
};
Run Code Online (Sandbox Code Playgroud)

实例使用以下方法创建:

Graph* createGraph(vector<Edge> edge) {
    Graph* graph = new Graph;
    graph->edge = edge;
    return graph;
}
Run Code Online (Sandbox Code Playgroud)

在实现我想要的东西的同时如何摆脱错误?

c++ pointers

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